{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib as plt\n",
    "import datetime11"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1.2, 1.5, 1.8],\n",
       "       [1.3, 1.4, 1.9],\n",
       "       [1.1, 1.6, 1.7]])"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = np.array([[1.2, 1.5, 1.8],\n",
    "       [1.3, 1.4, 1.9],\n",
    "       [1.1, 1.6, 1.7]])\n",
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "y = np.array([5,10,9])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.02 µs ± 18 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)\n"
     ]
    }
   ],
   "source": [
    "%%timeit X.dot(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "45.5 µs ± 1.87 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n"
     ]
    }
   ],
   "source": [
    "%%timeit\n",
    "total = []\n",
    "for i in range(X.shape[0]):\n",
    "    each_price = 0\n",
    "    for j in range(X.shape[1]):\n",
    "        each_price += X[i,j]*y[j]\n",
    "    total.append(round(each_price,1))\n",
    "total"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 第二题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[6, 9, 6],\n",
       "       [1, 1, 2],\n",
       "       [8, 7, 3],\n",
       "       [5, 6, 3],\n",
       "       [5, 3, 5],\n",
       "       [8, 8, 2],\n",
       "       [8, 1, 7],\n",
       "       [8, 7, 2],\n",
       "       [1, 2, 9],\n",
       "       [9, 4, 9]])"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.seed(1)\n",
    "X = np.random.randint(1, 10, size=30)\n",
    "X = X.reshape(10,3)\n",
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([6, 2, 3, 3, 5, 2, 7, 2, 9, 9])"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X1 = X[:,-1]\n",
    "X1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([6, 0, 0, 0, 5, 0, 7, 0, 9, 9])"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# last1= X1[X1 <=3]\n",
    "# last1\n",
    "X1[np.where(X1 <=3)]=0\n",
    "X1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1, 0, 0, 0, 1, 0, 7, 0, 9, 9])"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X1[(X1>3)&(X1<=6)]=1\n",
    "X1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1, 0, 0, 0, 1, 0, 2, 0, 2, 2])"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X1[X1>6]=2\n",
    "X1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[6, 9, 1],\n",
       "       [1, 1, 0],\n",
       "       [8, 7, 0],\n",
       "       [5, 6, 0],\n",
       "       [5, 3, 1],\n",
       "       [8, 8, 0],\n",
       "       [8, 1, 2],\n",
       "       [8, 7, 0],\n",
       "       [1, 2, 2],\n",
       "       [9, 4, 2]])"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X[:,-1] = X1\n",
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1, 0, 0, 0, 1, 0, 2, 0, 2, 2])"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_train = X1\n",
    "X2 = X[:,0:2]\n",
    "y_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[6, 9],\n",
       "       [5, 3]])"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X2[y_train == 1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1, 1],\n",
       "       [8, 7],\n",
       "       [5, 6],\n",
       "       [8, 8],\n",
       "       [8, 7]])"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X2[y_train == 0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[8, 1],\n",
       "       [1, 2],\n",
       "       [9, 4]])"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X2[y_train == 2]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 面试题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0, 1, 2],\n",
       "       [3, 4, 5],\n",
       "       [6, 7, 8]])"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "arr1 = np.array([0,1,2,3,4,5,6,7,8])\n",
    "arr1 = arr.reshape(3,3)\n",
    "arr1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1, 0, 2],\n",
       "       [4, 3, 5],\n",
       "       [7, 6, 8]])"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "arr1[:,[1,0,2]]#[0,1,2]是第一行的值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[3, 4, 5],\n",
       "       [0, 1, 2],\n",
       "       [6, 7, 8]])"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "arr1[[1,0,2],:]#[1,0,2]是行索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0, 1, 2, 3, 4],\n",
       "       [5, 6, 7, 8, 9]])"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "arr2 = np.array([0,1,2,3,4,5,6,7,8,9])\n",
    "arr2 = arr2.reshape(2,5)\n",
    "arr2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[2, 0],\n",
       "       [7, 5]])"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "arr2[:,[2,0]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[5, 6, 7, 8, 9],\n",
       "       [0, 1, 2, 3, 4]])"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "arr2[[1,0],:]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 第三题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>162742</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>162808</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>162943</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            0                       1  2        3       4       5      6   7  \\\n",
       "0  2019162542  /front-api/bill/create  8  1057.31   88.75  177.72  132.0  60   \n",
       "1      162644  /front-api/bill/create  5   749.12  103.79  240.38  149.0  60   \n",
       "2      162742  /front-api/bill/create  5   845.84  136.31  225.73  169.0  60   \n",
       "3      162808  /front-api/bill/create  9  1305.52   90.12  196.61  145.0  60   \n",
       "4      162943  /front-api/bill/create  3   568.89  138.45  232.02  189.0  60   \n",
       "\n",
       "                     8  \n",
       "0  2018-11-01 00:00:07  \n",
       "1  2018-11-01 00:01:07  \n",
       "2  2018-11-01 00:02:07  \n",
       "3  2018-11-01 00:03:07  \n",
       "4  2018-11-01 00:04:07  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv(\"./log.txt\",header = None, sep = '\\t')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>api</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>162742</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>162808</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>162943</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           id                     api  count  res_time_sum  res_time_min  \\\n",
       "0  2019162542  /front-api/bill/create      8       1057.31         88.75   \n",
       "1      162644  /front-api/bill/create      5        749.12        103.79   \n",
       "2      162742  /front-api/bill/create      5        845.84        136.31   \n",
       "3      162808  /front-api/bill/create      9       1305.52         90.12   \n",
       "4      162943  /front-api/bill/create      3        568.89        138.45   \n",
       "\n",
       "   res_time_max  res_time_avg  interval           created_at  \n",
       "0        177.72         132.0        60  2018-11-01 00:00:07  \n",
       "1        240.38         149.0        60  2018-11-01 00:01:07  \n",
       "2        225.73         169.0        60  2018-11-01 00:02:07  \n",
       "3        196.61         145.0        60  2018-11-01 00:03:07  \n",
       "4        232.02         189.0        60  2018-11-01 00:04:07  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.columns = ['id','api', 'count', 'res_time_sum', 'res_time_min', 'res_time_max', 'res_time_avg', 'interval', 'created_at']\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>api</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>79044</th>\n",
       "      <td>6107710</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>1</td>\n",
       "      <td>200.42</td>\n",
       "      <td>200.42</td>\n",
       "      <td>200.42</td>\n",
       "      <td>200.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-02-01 11:27:52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>68149</th>\n",
       "      <td>5380122</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>6</td>\n",
       "      <td>737.57</td>\n",
       "      <td>74.90</td>\n",
       "      <td>181.85</td>\n",
       "      <td>122.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-01-19 14:33:30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>144278</th>\n",
       "      <td>10717538</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1724.33</td>\n",
       "      <td>96.77</td>\n",
       "      <td>346.96</td>\n",
       "      <td>215.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-04-20 23:59:37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>105601</th>\n",
       "      <td>7818971</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>9</td>\n",
       "      <td>1546.70</td>\n",
       "      <td>87.61</td>\n",
       "      <td>380.89</td>\n",
       "      <td>171.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-03-07 16:14:50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29006</th>\n",
       "      <td>2758137</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1175.22</td>\n",
       "      <td>87.87</td>\n",
       "      <td>204.80</td>\n",
       "      <td>146.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-12-04 19:27:15</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              id                     api  count  res_time_sum  res_time_min  \\\n",
       "79044    6107710  /front-api/bill/create      1        200.42        200.42   \n",
       "68149    5380122  /front-api/bill/create      6        737.57         74.90   \n",
       "144278  10717538  /front-api/bill/create      8       1724.33         96.77   \n",
       "105601   7818971  /front-api/bill/create      9       1546.70         87.61   \n",
       "29006    2758137  /front-api/bill/create      8       1175.22         87.87   \n",
       "\n",
       "        res_time_max  res_time_avg  interval           created_at  \n",
       "79044         200.42         200.0        60  2019-02-01 11:27:52  \n",
       "68149         181.85         122.0        60  2019-01-19 14:33:30  \n",
       "144278        346.96         215.0        60  2019-04-20 23:59:37  \n",
       "105601        380.89         171.0        60  2019-03-07 16:14:50  \n",
       "29006         204.80         146.0        60  2018-12-04 19:27:15  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.sample(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(179496, 9)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "id                int64\n",
       "api              object\n",
       "count             int64\n",
       "res_time_sum    float64\n",
       "res_time_min    float64\n",
       "res_time_max    float64\n",
       "res_time_avg    float64\n",
       "interval          int64\n",
       "created_at       object\n",
       "dtype: object"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 179496 entries, 0 to 179495\n",
      "Data columns (total 9 columns):\n",
      "id              179496 non-null int64\n",
      "api             179496 non-null object\n",
      "count           179496 non-null int64\n",
      "res_time_sum    179496 non-null float64\n",
      "res_time_min    179496 non-null float64\n",
      "res_time_max    179496 non-null float64\n",
      "res_time_avg    179496 non-null float64\n",
      "interval        179496 non-null int64\n",
      "created_at      179496 non-null object\n",
      "dtypes: float64(4), int64(3), object(2)\n",
      "memory usage: 12.3+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                     179496\n",
       "unique                         1\n",
       "top       /front-api/bill/create\n",
       "freq                      179496\n",
       "Name: api, dtype: object"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['api'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "df= df.drop('api',axis=1)#删除api这一列的数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>162742</td>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>162808</td>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>162943</td>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           id  count  res_time_sum  res_time_min  res_time_max  res_time_avg  \\\n",
       "0  2019162542      8       1057.31         88.75        177.72         132.0   \n",
       "1      162644      5        749.12        103.79        240.38         149.0   \n",
       "2      162742      5        845.84        136.31        225.73         169.0   \n",
       "3      162808      9       1305.52         90.12        196.61         145.0   \n",
       "4      162943      3        568.89        138.45        232.02         189.0   \n",
       "\n",
       "   interval           created_at  \n",
       "0        60  2018-11-01 00:00:07  \n",
       "1        60  2018-11-01 00:01:07  \n",
       "2        60  2018-11-01 00:02:07  \n",
       "3        60  2018-11-01 00:03:07  \n",
       "4        60  2018-11-01 00:04:07  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                  179496\n",
       "unique                 179496\n",
       "top       2019-05-14 18:30:05\n",
       "freq                        1\n",
       "Name: created_at, dtype: object"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['created_at'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>153089</th>\n",
       "      <td>11406128</td>\n",
       "      <td>6</td>\n",
       "      <td>2105.08</td>\n",
       "      <td>125.74</td>\n",
       "      <td>992.46</td>\n",
       "      <td>350.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:00:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153090</th>\n",
       "      <td>11406236</td>\n",
       "      <td>7</td>\n",
       "      <td>2579.11</td>\n",
       "      <td>76.55</td>\n",
       "      <td>987.47</td>\n",
       "      <td>368.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:01:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153091</th>\n",
       "      <td>11406347</td>\n",
       "      <td>7</td>\n",
       "      <td>1277.79</td>\n",
       "      <td>109.65</td>\n",
       "      <td>236.73</td>\n",
       "      <td>182.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:02:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153092</th>\n",
       "      <td>11406446</td>\n",
       "      <td>7</td>\n",
       "      <td>2137.20</td>\n",
       "      <td>131.55</td>\n",
       "      <td>920.52</td>\n",
       "      <td>305.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:03:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153093</th>\n",
       "      <td>11406488</td>\n",
       "      <td>13</td>\n",
       "      <td>2948.70</td>\n",
       "      <td>86.42</td>\n",
       "      <td>491.31</td>\n",
       "      <td>226.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:04:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153094</th>\n",
       "      <td>11406599</td>\n",
       "      <td>6</td>\n",
       "      <td>2463.78</td>\n",
       "      <td>137.75</td>\n",
       "      <td>1445.82</td>\n",
       "      <td>410.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:05:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153095</th>\n",
       "      <td>11406661</td>\n",
       "      <td>6</td>\n",
       "      <td>2875.67</td>\n",
       "      <td>166.32</td>\n",
       "      <td>1304.41</td>\n",
       "      <td>479.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:06:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153096</th>\n",
       "      <td>11406751</td>\n",
       "      <td>8</td>\n",
       "      <td>1764.17</td>\n",
       "      <td>93.63</td>\n",
       "      <td>425.96</td>\n",
       "      <td>220.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:07:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153097</th>\n",
       "      <td>11406812</td>\n",
       "      <td>8</td>\n",
       "      <td>2577.12</td>\n",
       "      <td>148.68</td>\n",
       "      <td>864.03</td>\n",
       "      <td>322.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:08:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153098</th>\n",
       "      <td>11406929</td>\n",
       "      <td>5</td>\n",
       "      <td>929.82</td>\n",
       "      <td>67.42</td>\n",
       "      <td>413.51</td>\n",
       "      <td>185.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:09:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153099</th>\n",
       "      <td>11407005</td>\n",
       "      <td>4</td>\n",
       "      <td>912.60</td>\n",
       "      <td>171.17</td>\n",
       "      <td>297.85</td>\n",
       "      <td>228.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:10:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153100</th>\n",
       "      <td>11407047</td>\n",
       "      <td>2</td>\n",
       "      <td>279.56</td>\n",
       "      <td>123.47</td>\n",
       "      <td>156.09</td>\n",
       "      <td>139.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:11:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153101</th>\n",
       "      <td>11407133</td>\n",
       "      <td>4</td>\n",
       "      <td>714.73</td>\n",
       "      <td>125.50</td>\n",
       "      <td>226.84</td>\n",
       "      <td>178.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:12:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153102</th>\n",
       "      <td>11407234</td>\n",
       "      <td>5</td>\n",
       "      <td>1285.32</td>\n",
       "      <td>81.12</td>\n",
       "      <td>436.79</td>\n",
       "      <td>257.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:13:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153103</th>\n",
       "      <td>11407282</td>\n",
       "      <td>6</td>\n",
       "      <td>1425.18</td>\n",
       "      <td>99.28</td>\n",
       "      <td>571.42</td>\n",
       "      <td>237.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:14:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153104</th>\n",
       "      <td>11407386</td>\n",
       "      <td>5</td>\n",
       "      <td>947.69</td>\n",
       "      <td>97.91</td>\n",
       "      <td>313.41</td>\n",
       "      <td>189.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:15:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153105</th>\n",
       "      <td>11407436</td>\n",
       "      <td>4</td>\n",
       "      <td>1000.06</td>\n",
       "      <td>157.33</td>\n",
       "      <td>335.86</td>\n",
       "      <td>250.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:16:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153106</th>\n",
       "      <td>11407531</td>\n",
       "      <td>2</td>\n",
       "      <td>279.14</td>\n",
       "      <td>117.30</td>\n",
       "      <td>161.84</td>\n",
       "      <td>139.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:17:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153107</th>\n",
       "      <td>11407611</td>\n",
       "      <td>7</td>\n",
       "      <td>994.75</td>\n",
       "      <td>73.33</td>\n",
       "      <td>229.60</td>\n",
       "      <td>142.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:18:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153108</th>\n",
       "      <td>11407632</td>\n",
       "      <td>8</td>\n",
       "      <td>2207.46</td>\n",
       "      <td>76.31</td>\n",
       "      <td>1114.91</td>\n",
       "      <td>275.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:19:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153109</th>\n",
       "      <td>11407730</td>\n",
       "      <td>6</td>\n",
       "      <td>1244.12</td>\n",
       "      <td>119.18</td>\n",
       "      <td>400.02</td>\n",
       "      <td>207.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:20:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153110</th>\n",
       "      <td>11407845</td>\n",
       "      <td>4</td>\n",
       "      <td>892.43</td>\n",
       "      <td>103.66</td>\n",
       "      <td>374.82</td>\n",
       "      <td>223.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:21:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153111</th>\n",
       "      <td>11407897</td>\n",
       "      <td>4</td>\n",
       "      <td>1093.26</td>\n",
       "      <td>66.57</td>\n",
       "      <td>434.01</td>\n",
       "      <td>273.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:22:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153112</th>\n",
       "      <td>11407980</td>\n",
       "      <td>6</td>\n",
       "      <td>1116.52</td>\n",
       "      <td>89.45</td>\n",
       "      <td>485.38</td>\n",
       "      <td>186.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:23:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153113</th>\n",
       "      <td>11408036</td>\n",
       "      <td>6</td>\n",
       "      <td>770.21</td>\n",
       "      <td>77.44</td>\n",
       "      <td>217.87</td>\n",
       "      <td>128.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:24:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153114</th>\n",
       "      <td>11408107</td>\n",
       "      <td>6</td>\n",
       "      <td>1308.97</td>\n",
       "      <td>89.86</td>\n",
       "      <td>399.41</td>\n",
       "      <td>218.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:25:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153115</th>\n",
       "      <td>11408194</td>\n",
       "      <td>5</td>\n",
       "      <td>848.25</td>\n",
       "      <td>108.51</td>\n",
       "      <td>260.88</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:26:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153116</th>\n",
       "      <td>11408253</td>\n",
       "      <td>5</td>\n",
       "      <td>2407.06</td>\n",
       "      <td>90.05</td>\n",
       "      <td>1186.62</td>\n",
       "      <td>481.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:27:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153117</th>\n",
       "      <td>11408357</td>\n",
       "      <td>4</td>\n",
       "      <td>710.47</td>\n",
       "      <td>163.89</td>\n",
       "      <td>191.80</td>\n",
       "      <td>177.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:28:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153118</th>\n",
       "      <td>11408389</td>\n",
       "      <td>7</td>\n",
       "      <td>1675.60</td>\n",
       "      <td>110.26</td>\n",
       "      <td>619.54</td>\n",
       "      <td>239.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:29:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153943</th>\n",
       "      <td>11473695</td>\n",
       "      <td>3</td>\n",
       "      <td>471.28</td>\n",
       "      <td>86.32</td>\n",
       "      <td>194.36</td>\n",
       "      <td>157.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:30:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153944</th>\n",
       "      <td>11473734</td>\n",
       "      <td>9</td>\n",
       "      <td>1753.33</td>\n",
       "      <td>81.64</td>\n",
       "      <td>545.84</td>\n",
       "      <td>194.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:31:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153945</th>\n",
       "      <td>11473812</td>\n",
       "      <td>3</td>\n",
       "      <td>566.92</td>\n",
       "      <td>166.21</td>\n",
       "      <td>213.47</td>\n",
       "      <td>188.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:32:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153946</th>\n",
       "      <td>11473844</td>\n",
       "      <td>2</td>\n",
       "      <td>258.84</td>\n",
       "      <td>65.36</td>\n",
       "      <td>193.48</td>\n",
       "      <td>129.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:33:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153947</th>\n",
       "      <td>11473942</td>\n",
       "      <td>2</td>\n",
       "      <td>300.97</td>\n",
       "      <td>138.49</td>\n",
       "      <td>162.48</td>\n",
       "      <td>150.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:34:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153948</th>\n",
       "      <td>11474015</td>\n",
       "      <td>6</td>\n",
       "      <td>792.55</td>\n",
       "      <td>69.46</td>\n",
       "      <td>239.17</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:35:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153949</th>\n",
       "      <td>11474088</td>\n",
       "      <td>6</td>\n",
       "      <td>1157.81</td>\n",
       "      <td>124.12</td>\n",
       "      <td>423.91</td>\n",
       "      <td>192.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:36:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153950</th>\n",
       "      <td>11474163</td>\n",
       "      <td>2</td>\n",
       "      <td>433.06</td>\n",
       "      <td>98.41</td>\n",
       "      <td>334.65</td>\n",
       "      <td>216.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:37:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153951</th>\n",
       "      <td>11474223</td>\n",
       "      <td>4</td>\n",
       "      <td>425.51</td>\n",
       "      <td>75.69</td>\n",
       "      <td>144.11</td>\n",
       "      <td>106.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:38:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153952</th>\n",
       "      <td>11474299</td>\n",
       "      <td>4</td>\n",
       "      <td>604.55</td>\n",
       "      <td>103.00</td>\n",
       "      <td>191.69</td>\n",
       "      <td>151.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:39:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153953</th>\n",
       "      <td>11474340</td>\n",
       "      <td>4</td>\n",
       "      <td>599.14</td>\n",
       "      <td>141.13</td>\n",
       "      <td>162.50</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:40:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153954</th>\n",
       "      <td>11474412</td>\n",
       "      <td>3</td>\n",
       "      <td>519.14</td>\n",
       "      <td>130.28</td>\n",
       "      <td>219.06</td>\n",
       "      <td>173.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:41:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153955</th>\n",
       "      <td>11474510</td>\n",
       "      <td>1</td>\n",
       "      <td>336.79</td>\n",
       "      <td>336.79</td>\n",
       "      <td>336.79</td>\n",
       "      <td>336.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:42:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153956</th>\n",
       "      <td>11474559</td>\n",
       "      <td>8</td>\n",
       "      <td>1741.96</td>\n",
       "      <td>83.68</td>\n",
       "      <td>592.15</td>\n",
       "      <td>217.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:43:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153957</th>\n",
       "      <td>11474630</td>\n",
       "      <td>5</td>\n",
       "      <td>573.94</td>\n",
       "      <td>75.98</td>\n",
       "      <td>160.20</td>\n",
       "      <td>114.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:44:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153958</th>\n",
       "      <td>11474719</td>\n",
       "      <td>5</td>\n",
       "      <td>1221.15</td>\n",
       "      <td>74.16</td>\n",
       "      <td>726.07</td>\n",
       "      <td>244.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:45:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153959</th>\n",
       "      <td>11474783</td>\n",
       "      <td>7</td>\n",
       "      <td>775.40</td>\n",
       "      <td>69.56</td>\n",
       "      <td>165.25</td>\n",
       "      <td>110.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:46:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153960</th>\n",
       "      <td>11474860</td>\n",
       "      <td>5</td>\n",
       "      <td>1109.98</td>\n",
       "      <td>114.90</td>\n",
       "      <td>406.98</td>\n",
       "      <td>221.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:47:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153961</th>\n",
       "      <td>11474885</td>\n",
       "      <td>5</td>\n",
       "      <td>563.23</td>\n",
       "      <td>83.24</td>\n",
       "      <td>171.42</td>\n",
       "      <td>112.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:48:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153962</th>\n",
       "      <td>11474974</td>\n",
       "      <td>3</td>\n",
       "      <td>351.08</td>\n",
       "      <td>69.84</td>\n",
       "      <td>148.27</td>\n",
       "      <td>117.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:49:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153963</th>\n",
       "      <td>11475041</td>\n",
       "      <td>4</td>\n",
       "      <td>609.49</td>\n",
       "      <td>89.03</td>\n",
       "      <td>235.60</td>\n",
       "      <td>152.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:50:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153964</th>\n",
       "      <td>11475066</td>\n",
       "      <td>4</td>\n",
       "      <td>1285.34</td>\n",
       "      <td>154.31</td>\n",
       "      <td>538.34</td>\n",
       "      <td>321.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:51:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153965</th>\n",
       "      <td>11475136</td>\n",
       "      <td>4</td>\n",
       "      <td>884.68</td>\n",
       "      <td>111.59</td>\n",
       "      <td>468.82</td>\n",
       "      <td>221.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:52:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153966</th>\n",
       "      <td>11475226</td>\n",
       "      <td>7</td>\n",
       "      <td>1377.46</td>\n",
       "      <td>133.20</td>\n",
       "      <td>248.60</td>\n",
       "      <td>196.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:53:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153967</th>\n",
       "      <td>11475311</td>\n",
       "      <td>4</td>\n",
       "      <td>656.67</td>\n",
       "      <td>126.56</td>\n",
       "      <td>243.48</td>\n",
       "      <td>164.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:54:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153968</th>\n",
       "      <td>11475363</td>\n",
       "      <td>6</td>\n",
       "      <td>1083.97</td>\n",
       "      <td>70.85</td>\n",
       "      <td>262.22</td>\n",
       "      <td>180.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:55:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153969</th>\n",
       "      <td>11475483</td>\n",
       "      <td>4</td>\n",
       "      <td>840.00</td>\n",
       "      <td>117.31</td>\n",
       "      <td>382.63</td>\n",
       "      <td>210.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:56:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153970</th>\n",
       "      <td>11475550</td>\n",
       "      <td>2</td>\n",
       "      <td>295.51</td>\n",
       "      <td>101.71</td>\n",
       "      <td>193.80</td>\n",
       "      <td>147.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:57:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153971</th>\n",
       "      <td>11475597</td>\n",
       "      <td>2</td>\n",
       "      <td>431.99</td>\n",
       "      <td>84.43</td>\n",
       "      <td>347.56</td>\n",
       "      <td>215.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:58:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153972</th>\n",
       "      <td>11475664</td>\n",
       "      <td>3</td>\n",
       "      <td>428.84</td>\n",
       "      <td>103.58</td>\n",
       "      <td>206.57</td>\n",
       "      <td>142.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:59:49</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>884 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "              id  count  res_time_sum  res_time_min  res_time_max  \\\n",
       "153089  11406128      6       2105.08        125.74        992.46   \n",
       "153090  11406236      7       2579.11         76.55        987.47   \n",
       "153091  11406347      7       1277.79        109.65        236.73   \n",
       "153092  11406446      7       2137.20        131.55        920.52   \n",
       "153093  11406488     13       2948.70         86.42        491.31   \n",
       "153094  11406599      6       2463.78        137.75       1445.82   \n",
       "153095  11406661      6       2875.67        166.32       1304.41   \n",
       "153096  11406751      8       1764.17         93.63        425.96   \n",
       "153097  11406812      8       2577.12        148.68        864.03   \n",
       "153098  11406929      5        929.82         67.42        413.51   \n",
       "153099  11407005      4        912.60        171.17        297.85   \n",
       "153100  11407047      2        279.56        123.47        156.09   \n",
       "153101  11407133      4        714.73        125.50        226.84   \n",
       "153102  11407234      5       1285.32         81.12        436.79   \n",
       "153103  11407282      6       1425.18         99.28        571.42   \n",
       "153104  11407386      5        947.69         97.91        313.41   \n",
       "153105  11407436      4       1000.06        157.33        335.86   \n",
       "153106  11407531      2        279.14        117.30        161.84   \n",
       "153107  11407611      7        994.75         73.33        229.60   \n",
       "153108  11407632      8       2207.46         76.31       1114.91   \n",
       "153109  11407730      6       1244.12        119.18        400.02   \n",
       "153110  11407845      4        892.43        103.66        374.82   \n",
       "153111  11407897      4       1093.26         66.57        434.01   \n",
       "153112  11407980      6       1116.52         89.45        485.38   \n",
       "153113  11408036      6        770.21         77.44        217.87   \n",
       "153114  11408107      6       1308.97         89.86        399.41   \n",
       "153115  11408194      5        848.25        108.51        260.88   \n",
       "153116  11408253      5       2407.06         90.05       1186.62   \n",
       "153117  11408357      4        710.47        163.89        191.80   \n",
       "153118  11408389      7       1675.60        110.26        619.54   \n",
       "...          ...    ...           ...           ...           ...   \n",
       "153943  11473695      3        471.28         86.32        194.36   \n",
       "153944  11473734      9       1753.33         81.64        545.84   \n",
       "153945  11473812      3        566.92        166.21        213.47   \n",
       "153946  11473844      2        258.84         65.36        193.48   \n",
       "153947  11473942      2        300.97        138.49        162.48   \n",
       "153948  11474015      6        792.55         69.46        239.17   \n",
       "153949  11474088      6       1157.81        124.12        423.91   \n",
       "153950  11474163      2        433.06         98.41        334.65   \n",
       "153951  11474223      4        425.51         75.69        144.11   \n",
       "153952  11474299      4        604.55        103.00        191.69   \n",
       "153953  11474340      4        599.14        141.13        162.50   \n",
       "153954  11474412      3        519.14        130.28        219.06   \n",
       "153955  11474510      1        336.79        336.79        336.79   \n",
       "153956  11474559      8       1741.96         83.68        592.15   \n",
       "153957  11474630      5        573.94         75.98        160.20   \n",
       "153958  11474719      5       1221.15         74.16        726.07   \n",
       "153959  11474783      7        775.40         69.56        165.25   \n",
       "153960  11474860      5       1109.98        114.90        406.98   \n",
       "153961  11474885      5        563.23         83.24        171.42   \n",
       "153962  11474974      3        351.08         69.84        148.27   \n",
       "153963  11475041      4        609.49         89.03        235.60   \n",
       "153964  11475066      4       1285.34        154.31        538.34   \n",
       "153965  11475136      4        884.68        111.59        468.82   \n",
       "153966  11475226      7       1377.46        133.20        248.60   \n",
       "153967  11475311      4        656.67        126.56        243.48   \n",
       "153968  11475363      6       1083.97         70.85        262.22   \n",
       "153969  11475483      4        840.00        117.31        382.63   \n",
       "153970  11475550      2        295.51        101.71        193.80   \n",
       "153971  11475597      2        431.99         84.43        347.56   \n",
       "153972  11475664      3        428.84        103.58        206.57   \n",
       "\n",
       "        res_time_avg  interval           created_at  \n",
       "153089         350.0        60  2019-05-01 00:00:48  \n",
       "153090         368.0        60  2019-05-01 00:01:48  \n",
       "153091         182.0        60  2019-05-01 00:02:48  \n",
       "153092         305.0        60  2019-05-01 00:03:48  \n",
       "153093         226.0        60  2019-05-01 00:04:48  \n",
       "153094         410.0        60  2019-05-01 00:05:48  \n",
       "153095         479.0        60  2019-05-01 00:06:48  \n",
       "153096         220.0        60  2019-05-01 00:07:48  \n",
       "153097         322.0        60  2019-05-01 00:08:48  \n",
       "153098         185.0        60  2019-05-01 00:09:48  \n",
       "153099         228.0        60  2019-05-01 00:10:48  \n",
       "153100         139.0        60  2019-05-01 00:11:48  \n",
       "153101         178.0        60  2019-05-01 00:12:48  \n",
       "153102         257.0        60  2019-05-01 00:13:48  \n",
       "153103         237.0        60  2019-05-01 00:14:48  \n",
       "153104         189.0        60  2019-05-01 00:15:48  \n",
       "153105         250.0        60  2019-05-01 00:16:48  \n",
       "153106         139.0        60  2019-05-01 00:17:48  \n",
       "153107         142.0        60  2019-05-01 00:18:48  \n",
       "153108         275.0        60  2019-05-01 00:19:48  \n",
       "153109         207.0        60  2019-05-01 00:20:48  \n",
       "153110         223.0        60  2019-05-01 00:21:48  \n",
       "153111         273.0        60  2019-05-01 00:22:48  \n",
       "153112         186.0        60  2019-05-01 00:23:48  \n",
       "153113         128.0        60  2019-05-01 00:24:48  \n",
       "153114         218.0        60  2019-05-01 00:25:48  \n",
       "153115         169.0        60  2019-05-01 00:26:48  \n",
       "153116         481.0        60  2019-05-01 00:27:48  \n",
       "153117         177.0        60  2019-05-01 00:28:48  \n",
       "153118         239.0        60  2019-05-01 00:29:48  \n",
       "...              ...       ...                  ...  \n",
       "153943         157.0        60  2019-05-01 23:30:49  \n",
       "153944         194.0        60  2019-05-01 23:31:49  \n",
       "153945         188.0        60  2019-05-01 23:32:49  \n",
       "153946         129.0        60  2019-05-01 23:33:49  \n",
       "153947         150.0        60  2019-05-01 23:34:49  \n",
       "153948         132.0        60  2019-05-01 23:35:49  \n",
       "153949         192.0        60  2019-05-01 23:36:49  \n",
       "153950         216.0        60  2019-05-01 23:37:49  \n",
       "153951         106.0        60  2019-05-01 23:38:49  \n",
       "153952         151.0        60  2019-05-01 23:39:49  \n",
       "153953         149.0        60  2019-05-01 23:40:49  \n",
       "153954         173.0        60  2019-05-01 23:41:49  \n",
       "153955         336.0        60  2019-05-01 23:42:49  \n",
       "153956         217.0        60  2019-05-01 23:43:49  \n",
       "153957         114.0        60  2019-05-01 23:44:49  \n",
       "153958         244.0        60  2019-05-01 23:45:49  \n",
       "153959         110.0        60  2019-05-01 23:46:49  \n",
       "153960         221.0        60  2019-05-01 23:47:49  \n",
       "153961         112.0        60  2019-05-01 23:48:49  \n",
       "153962         117.0        60  2019-05-01 23:49:49  \n",
       "153963         152.0        60  2019-05-01 23:50:49  \n",
       "153964         321.0        60  2019-05-01 23:51:49  \n",
       "153965         221.0        60  2019-05-01 23:52:49  \n",
       "153966         196.0        60  2019-05-01 23:53:49  \n",
       "153967         164.0        60  2019-05-01 23:54:49  \n",
       "153968         180.0        60  2019-05-01 23:55:49  \n",
       "153969         210.0        60  2019-05-01 23:56:49  \n",
       "153970         147.0        60  2019-05-01 23:57:49  \n",
       "153971         215.0        60  2019-05-01 23:58:49  \n",
       "153972         142.0        60  2019-05-01 23:59:49  \n",
       "\n",
       "[884 rows x 8 columns]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[(df.created_at >= '2019-05-01')&(df.created_at<'2019-05-02')]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RangeIndex(start=0, stop=179496, step=1)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    2018-11-01 00:00:07\n",
       "1    2018-11-01 00:01:07\n",
       "2    2018-11-01 00:02:07\n",
       "3    2018-11-01 00:03:07\n",
       "4    2018-11-01 00:04:07\n",
       "Name: created_at, dtype: object"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['created_at'][:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.index = pd.to_datetime(df.created_at)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2018-11-01 00:00:07', '2018-11-01 00:01:07',\n",
       "               '2018-11-01 00:02:07', '2018-11-01 00:03:07',\n",
       "               '2018-11-01 00:04:07', '2018-11-01 00:05:07',\n",
       "               '2018-11-01 00:06:07', '2018-11-01 00:07:07',\n",
       "               '2018-11-01 00:08:07', '2018-11-01 00:09:07',\n",
       "               ...\n",
       "               '2019-05-30 23:01:21', '2019-05-30 23:02:21',\n",
       "               '2019-05-30 23:03:21', '2019-05-30 23:04:21',\n",
       "               '2019-05-30 23:05:21', '2019-05-30 23:06:21',\n",
       "               '2019-05-30 23:07:21', '2019-05-30 23:08:21',\n",
       "               '2019-05-30 23:09:21', '2019-05-30 23:10:21'],\n",
       "              dtype='datetime64[ns]', name='created_at', length=179496, freq=None)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:00:49</th>\n",
       "      <td>11475722</td>\n",
       "      <td>2</td>\n",
       "      <td>484.69</td>\n",
       "      <td>101.07</td>\n",
       "      <td>383.62</td>\n",
       "      <td>242.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:00:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:01:49</th>\n",
       "      <td>11475763</td>\n",
       "      <td>4</td>\n",
       "      <td>801.94</td>\n",
       "      <td>108.22</td>\n",
       "      <td>292.17</td>\n",
       "      <td>200.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:01:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:02:49</th>\n",
       "      <td>11475867</td>\n",
       "      <td>6</td>\n",
       "      <td>1888.32</td>\n",
       "      <td>99.93</td>\n",
       "      <td>782.74</td>\n",
       "      <td>314.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:02:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:03:49</th>\n",
       "      <td>11475900</td>\n",
       "      <td>5</td>\n",
       "      <td>858.39</td>\n",
       "      <td>102.00</td>\n",
       "      <td>266.54</td>\n",
       "      <td>171.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:03:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:04:49</th>\n",
       "      <td>11475991</td>\n",
       "      <td>3</td>\n",
       "      <td>778.11</td>\n",
       "      <td>162.48</td>\n",
       "      <td>373.41</td>\n",
       "      <td>259.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:04:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:05:49</th>\n",
       "      <td>11476055</td>\n",
       "      <td>3</td>\n",
       "      <td>1140.26</td>\n",
       "      <td>106.67</td>\n",
       "      <td>822.38</td>\n",
       "      <td>380.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:05:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:06:49</th>\n",
       "      <td>11476142</td>\n",
       "      <td>2</td>\n",
       "      <td>347.17</td>\n",
       "      <td>145.63</td>\n",
       "      <td>201.54</td>\n",
       "      <td>173.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:06:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:07:49</th>\n",
       "      <td>11476189</td>\n",
       "      <td>2</td>\n",
       "      <td>400.15</td>\n",
       "      <td>129.87</td>\n",
       "      <td>270.28</td>\n",
       "      <td>200.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:07:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:08:49</th>\n",
       "      <td>11476244</td>\n",
       "      <td>1</td>\n",
       "      <td>89.02</td>\n",
       "      <td>89.02</td>\n",
       "      <td>89.02</td>\n",
       "      <td>89.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:08:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:10:49</th>\n",
       "      <td>11476380</td>\n",
       "      <td>5</td>\n",
       "      <td>624.60</td>\n",
       "      <td>99.56</td>\n",
       "      <td>170.76</td>\n",
       "      <td>124.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:10:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:11:49</th>\n",
       "      <td>11476456</td>\n",
       "      <td>2</td>\n",
       "      <td>238.44</td>\n",
       "      <td>93.34</td>\n",
       "      <td>145.10</td>\n",
       "      <td>119.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:11:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:12:49</th>\n",
       "      <td>11476500</td>\n",
       "      <td>2</td>\n",
       "      <td>517.82</td>\n",
       "      <td>104.31</td>\n",
       "      <td>413.51</td>\n",
       "      <td>258.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:12:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:13:49</th>\n",
       "      <td>11476565</td>\n",
       "      <td>9</td>\n",
       "      <td>1829.15</td>\n",
       "      <td>76.87</td>\n",
       "      <td>646.42</td>\n",
       "      <td>203.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:13:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:14:49</th>\n",
       "      <td>11476663</td>\n",
       "      <td>2</td>\n",
       "      <td>551.31</td>\n",
       "      <td>139.07</td>\n",
       "      <td>412.24</td>\n",
       "      <td>275.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:14:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:15:49</th>\n",
       "      <td>11476732</td>\n",
       "      <td>5</td>\n",
       "      <td>629.29</td>\n",
       "      <td>101.79</td>\n",
       "      <td>196.48</td>\n",
       "      <td>125.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:15:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:16:49</th>\n",
       "      <td>11476764</td>\n",
       "      <td>3</td>\n",
       "      <td>1219.00</td>\n",
       "      <td>126.32</td>\n",
       "      <td>927.92</td>\n",
       "      <td>406.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:16:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:17:49</th>\n",
       "      <td>11476854</td>\n",
       "      <td>4</td>\n",
       "      <td>733.00</td>\n",
       "      <td>129.86</td>\n",
       "      <td>224.39</td>\n",
       "      <td>183.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:17:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:18:49</th>\n",
       "      <td>11476938</td>\n",
       "      <td>3</td>\n",
       "      <td>487.64</td>\n",
       "      <td>89.50</td>\n",
       "      <td>204.78</td>\n",
       "      <td>162.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:18:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:19:49</th>\n",
       "      <td>11477010</td>\n",
       "      <td>4</td>\n",
       "      <td>863.46</td>\n",
       "      <td>153.05</td>\n",
       "      <td>384.72</td>\n",
       "      <td>215.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:19:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:20:49</th>\n",
       "      <td>11477077</td>\n",
       "      <td>4</td>\n",
       "      <td>962.74</td>\n",
       "      <td>105.48</td>\n",
       "      <td>487.76</td>\n",
       "      <td>240.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:20:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:21:49</th>\n",
       "      <td>11477140</td>\n",
       "      <td>4</td>\n",
       "      <td>846.10</td>\n",
       "      <td>115.28</td>\n",
       "      <td>310.30</td>\n",
       "      <td>211.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:21:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:22:49</th>\n",
       "      <td>11477191</td>\n",
       "      <td>1</td>\n",
       "      <td>253.08</td>\n",
       "      <td>253.08</td>\n",
       "      <td>253.08</td>\n",
       "      <td>253.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:22:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:23:49</th>\n",
       "      <td>11477237</td>\n",
       "      <td>5</td>\n",
       "      <td>648.09</td>\n",
       "      <td>109.89</td>\n",
       "      <td>140.59</td>\n",
       "      <td>129.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:23:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:24:49</th>\n",
       "      <td>11477313</td>\n",
       "      <td>4</td>\n",
       "      <td>1115.02</td>\n",
       "      <td>108.05</td>\n",
       "      <td>547.07</td>\n",
       "      <td>278.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:24:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:25:49</th>\n",
       "      <td>11477373</td>\n",
       "      <td>2</td>\n",
       "      <td>255.23</td>\n",
       "      <td>106.75</td>\n",
       "      <td>148.48</td>\n",
       "      <td>127.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:25:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:26:49</th>\n",
       "      <td>11477450</td>\n",
       "      <td>2</td>\n",
       "      <td>429.78</td>\n",
       "      <td>173.64</td>\n",
       "      <td>256.14</td>\n",
       "      <td>214.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:26:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:27:49</th>\n",
       "      <td>11477488</td>\n",
       "      <td>2</td>\n",
       "      <td>402.06</td>\n",
       "      <td>167.55</td>\n",
       "      <td>234.51</td>\n",
       "      <td>201.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:27:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:28:49</th>\n",
       "      <td>11477539</td>\n",
       "      <td>3</td>\n",
       "      <td>401.34</td>\n",
       "      <td>124.29</td>\n",
       "      <td>143.68</td>\n",
       "      <td>133.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:28:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:29:49</th>\n",
       "      <td>11477605</td>\n",
       "      <td>3</td>\n",
       "      <td>1354.69</td>\n",
       "      <td>114.69</td>\n",
       "      <td>942.69</td>\n",
       "      <td>451.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:29:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 00:30:49</th>\n",
       "      <td>11477677</td>\n",
       "      <td>3</td>\n",
       "      <td>415.81</td>\n",
       "      <td>127.65</td>\n",
       "      <td>150.90</td>\n",
       "      <td>138.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 00:30:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:30:51</th>\n",
       "      <td>11539365</td>\n",
       "      <td>7</td>\n",
       "      <td>1265.05</td>\n",
       "      <td>87.51</td>\n",
       "      <td>249.41</td>\n",
       "      <td>180.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:30:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:31:51</th>\n",
       "      <td>11539471</td>\n",
       "      <td>3</td>\n",
       "      <td>385.11</td>\n",
       "      <td>113.29</td>\n",
       "      <td>151.39</td>\n",
       "      <td>128.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:31:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:32:51</th>\n",
       "      <td>11539496</td>\n",
       "      <td>4</td>\n",
       "      <td>572.21</td>\n",
       "      <td>106.20</td>\n",
       "      <td>226.00</td>\n",
       "      <td>143.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:32:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:33:51</th>\n",
       "      <td>11539585</td>\n",
       "      <td>5</td>\n",
       "      <td>757.15</td>\n",
       "      <td>91.95</td>\n",
       "      <td>258.72</td>\n",
       "      <td>151.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:33:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:34:51</th>\n",
       "      <td>11539680</td>\n",
       "      <td>10</td>\n",
       "      <td>1924.06</td>\n",
       "      <td>86.33</td>\n",
       "      <td>415.48</td>\n",
       "      <td>192.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:34:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:35:51</th>\n",
       "      <td>11539736</td>\n",
       "      <td>7</td>\n",
       "      <td>1044.32</td>\n",
       "      <td>112.03</td>\n",
       "      <td>201.77</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:35:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:36:51</th>\n",
       "      <td>11539793</td>\n",
       "      <td>7</td>\n",
       "      <td>1255.16</td>\n",
       "      <td>89.74</td>\n",
       "      <td>332.84</td>\n",
       "      <td>179.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:36:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:37:51</th>\n",
       "      <td>11539856</td>\n",
       "      <td>10</td>\n",
       "      <td>2143.21</td>\n",
       "      <td>125.08</td>\n",
       "      <td>356.68</td>\n",
       "      <td>214.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:37:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:38:51</th>\n",
       "      <td>11539928</td>\n",
       "      <td>7</td>\n",
       "      <td>1230.97</td>\n",
       "      <td>71.90</td>\n",
       "      <td>453.22</td>\n",
       "      <td>175.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:38:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:39:51</th>\n",
       "      <td>11540035</td>\n",
       "      <td>4</td>\n",
       "      <td>580.32</td>\n",
       "      <td>102.69</td>\n",
       "      <td>207.32</td>\n",
       "      <td>145.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:39:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:40:51</th>\n",
       "      <td>11540090</td>\n",
       "      <td>6</td>\n",
       "      <td>1934.47</td>\n",
       "      <td>86.47</td>\n",
       "      <td>1033.02</td>\n",
       "      <td>322.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:40:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:41:51</th>\n",
       "      <td>11540132</td>\n",
       "      <td>4</td>\n",
       "      <td>510.76</td>\n",
       "      <td>88.82</td>\n",
       "      <td>185.52</td>\n",
       "      <td>127.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:41:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:42:51</th>\n",
       "      <td>11540224</td>\n",
       "      <td>4</td>\n",
       "      <td>420.63</td>\n",
       "      <td>75.49</td>\n",
       "      <td>137.94</td>\n",
       "      <td>105.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:42:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:43:51</th>\n",
       "      <td>11540307</td>\n",
       "      <td>3</td>\n",
       "      <td>609.28</td>\n",
       "      <td>75.26</td>\n",
       "      <td>288.71</td>\n",
       "      <td>203.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:43:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:44:51</th>\n",
       "      <td>11540344</td>\n",
       "      <td>3</td>\n",
       "      <td>642.03</td>\n",
       "      <td>141.71</td>\n",
       "      <td>283.59</td>\n",
       "      <td>214.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:44:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:45:51</th>\n",
       "      <td>11540408</td>\n",
       "      <td>8</td>\n",
       "      <td>1461.57</td>\n",
       "      <td>71.59</td>\n",
       "      <td>645.84</td>\n",
       "      <td>182.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:45:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:46:51</th>\n",
       "      <td>11540485</td>\n",
       "      <td>4</td>\n",
       "      <td>997.30</td>\n",
       "      <td>105.76</td>\n",
       "      <td>455.57</td>\n",
       "      <td>249.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:46:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:47:51</th>\n",
       "      <td>11540550</td>\n",
       "      <td>3</td>\n",
       "      <td>978.67</td>\n",
       "      <td>130.26</td>\n",
       "      <td>649.39</td>\n",
       "      <td>326.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:47:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:48:51</th>\n",
       "      <td>11540604</td>\n",
       "      <td>4</td>\n",
       "      <td>572.21</td>\n",
       "      <td>79.91</td>\n",
       "      <td>213.63</td>\n",
       "      <td>143.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:48:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:49:51</th>\n",
       "      <td>11540665</td>\n",
       "      <td>7</td>\n",
       "      <td>1885.74</td>\n",
       "      <td>84.52</td>\n",
       "      <td>654.95</td>\n",
       "      <td>269.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:49:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:50:51</th>\n",
       "      <td>11540744</td>\n",
       "      <td>3</td>\n",
       "      <td>323.29</td>\n",
       "      <td>100.12</td>\n",
       "      <td>118.35</td>\n",
       "      <td>107.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:50:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:51:51</th>\n",
       "      <td>11540811</td>\n",
       "      <td>3</td>\n",
       "      <td>296.45</td>\n",
       "      <td>75.38</td>\n",
       "      <td>139.71</td>\n",
       "      <td>98.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:51:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:52:51</th>\n",
       "      <td>11540875</td>\n",
       "      <td>1</td>\n",
       "      <td>295.96</td>\n",
       "      <td>295.96</td>\n",
       "      <td>295.96</td>\n",
       "      <td>295.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:52:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:53:51</th>\n",
       "      <td>11540913</td>\n",
       "      <td>6</td>\n",
       "      <td>1045.60</td>\n",
       "      <td>69.12</td>\n",
       "      <td>446.44</td>\n",
       "      <td>174.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:53:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:54:51</th>\n",
       "      <td>11540995</td>\n",
       "      <td>4</td>\n",
       "      <td>755.00</td>\n",
       "      <td>153.64</td>\n",
       "      <td>238.43</td>\n",
       "      <td>188.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:54:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:55:51</th>\n",
       "      <td>11541056</td>\n",
       "      <td>2</td>\n",
       "      <td>392.55</td>\n",
       "      <td>84.96</td>\n",
       "      <td>307.59</td>\n",
       "      <td>196.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:55:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:56:51</th>\n",
       "      <td>11541082</td>\n",
       "      <td>5</td>\n",
       "      <td>1133.19</td>\n",
       "      <td>124.87</td>\n",
       "      <td>318.95</td>\n",
       "      <td>226.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:56:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:57:51</th>\n",
       "      <td>11541153</td>\n",
       "      <td>1</td>\n",
       "      <td>886.99</td>\n",
       "      <td>886.99</td>\n",
       "      <td>886.99</td>\n",
       "      <td>886.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:57:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:58:51</th>\n",
       "      <td>11541171</td>\n",
       "      <td>2</td>\n",
       "      <td>259.38</td>\n",
       "      <td>115.29</td>\n",
       "      <td>144.09</td>\n",
       "      <td>129.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:58:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-02 23:59:51</th>\n",
       "      <td>11541226</td>\n",
       "      <td>6</td>\n",
       "      <td>823.94</td>\n",
       "      <td>110.75</td>\n",
       "      <td>226.56</td>\n",
       "      <td>137.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-02 23:59:51</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>865 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                           id  count  res_time_sum  res_time_min  \\\n",
       "created_at                                                         \n",
       "2019-05-02 00:00:49  11475722      2        484.69        101.07   \n",
       "2019-05-02 00:01:49  11475763      4        801.94        108.22   \n",
       "2019-05-02 00:02:49  11475867      6       1888.32         99.93   \n",
       "2019-05-02 00:03:49  11475900      5        858.39        102.00   \n",
       "2019-05-02 00:04:49  11475991      3        778.11        162.48   \n",
       "2019-05-02 00:05:49  11476055      3       1140.26        106.67   \n",
       "2019-05-02 00:06:49  11476142      2        347.17        145.63   \n",
       "2019-05-02 00:07:49  11476189      2        400.15        129.87   \n",
       "2019-05-02 00:08:49  11476244      1         89.02         89.02   \n",
       "2019-05-02 00:10:49  11476380      5        624.60         99.56   \n",
       "2019-05-02 00:11:49  11476456      2        238.44         93.34   \n",
       "2019-05-02 00:12:49  11476500      2        517.82        104.31   \n",
       "2019-05-02 00:13:49  11476565      9       1829.15         76.87   \n",
       "2019-05-02 00:14:49  11476663      2        551.31        139.07   \n",
       "2019-05-02 00:15:49  11476732      5        629.29        101.79   \n",
       "2019-05-02 00:16:49  11476764      3       1219.00        126.32   \n",
       "2019-05-02 00:17:49  11476854      4        733.00        129.86   \n",
       "2019-05-02 00:18:49  11476938      3        487.64         89.50   \n",
       "2019-05-02 00:19:49  11477010      4        863.46        153.05   \n",
       "2019-05-02 00:20:49  11477077      4        962.74        105.48   \n",
       "2019-05-02 00:21:49  11477140      4        846.10        115.28   \n",
       "2019-05-02 00:22:49  11477191      1        253.08        253.08   \n",
       "2019-05-02 00:23:49  11477237      5        648.09        109.89   \n",
       "2019-05-02 00:24:49  11477313      4       1115.02        108.05   \n",
       "2019-05-02 00:25:49  11477373      2        255.23        106.75   \n",
       "2019-05-02 00:26:49  11477450      2        429.78        173.64   \n",
       "2019-05-02 00:27:49  11477488      2        402.06        167.55   \n",
       "2019-05-02 00:28:49  11477539      3        401.34        124.29   \n",
       "2019-05-02 00:29:49  11477605      3       1354.69        114.69   \n",
       "2019-05-02 00:30:49  11477677      3        415.81        127.65   \n",
       "...                       ...    ...           ...           ...   \n",
       "2019-05-02 23:30:51  11539365      7       1265.05         87.51   \n",
       "2019-05-02 23:31:51  11539471      3        385.11        113.29   \n",
       "2019-05-02 23:32:51  11539496      4        572.21        106.20   \n",
       "2019-05-02 23:33:51  11539585      5        757.15         91.95   \n",
       "2019-05-02 23:34:51  11539680     10       1924.06         86.33   \n",
       "2019-05-02 23:35:51  11539736      7       1044.32        112.03   \n",
       "2019-05-02 23:36:51  11539793      7       1255.16         89.74   \n",
       "2019-05-02 23:37:51  11539856     10       2143.21        125.08   \n",
       "2019-05-02 23:38:51  11539928      7       1230.97         71.90   \n",
       "2019-05-02 23:39:51  11540035      4        580.32        102.69   \n",
       "2019-05-02 23:40:51  11540090      6       1934.47         86.47   \n",
       "2019-05-02 23:41:51  11540132      4        510.76         88.82   \n",
       "2019-05-02 23:42:51  11540224      4        420.63         75.49   \n",
       "2019-05-02 23:43:51  11540307      3        609.28         75.26   \n",
       "2019-05-02 23:44:51  11540344      3        642.03        141.71   \n",
       "2019-05-02 23:45:51  11540408      8       1461.57         71.59   \n",
       "2019-05-02 23:46:51  11540485      4        997.30        105.76   \n",
       "2019-05-02 23:47:51  11540550      3        978.67        130.26   \n",
       "2019-05-02 23:48:51  11540604      4        572.21         79.91   \n",
       "2019-05-02 23:49:51  11540665      7       1885.74         84.52   \n",
       "2019-05-02 23:50:51  11540744      3        323.29        100.12   \n",
       "2019-05-02 23:51:51  11540811      3        296.45         75.38   \n",
       "2019-05-02 23:52:51  11540875      1        295.96        295.96   \n",
       "2019-05-02 23:53:51  11540913      6       1045.60         69.12   \n",
       "2019-05-02 23:54:51  11540995      4        755.00        153.64   \n",
       "2019-05-02 23:55:51  11541056      2        392.55         84.96   \n",
       "2019-05-02 23:56:51  11541082      5       1133.19        124.87   \n",
       "2019-05-02 23:57:51  11541153      1        886.99        886.99   \n",
       "2019-05-02 23:58:51  11541171      2        259.38        115.29   \n",
       "2019-05-02 23:59:51  11541226      6        823.94        110.75   \n",
       "\n",
       "                     res_time_max  res_time_avg  interval           created_at  \n",
       "created_at                                                                      \n",
       "2019-05-02 00:00:49        383.62         242.0        60  2019-05-02 00:00:49  \n",
       "2019-05-02 00:01:49        292.17         200.0        60  2019-05-02 00:01:49  \n",
       "2019-05-02 00:02:49        782.74         314.0        60  2019-05-02 00:02:49  \n",
       "2019-05-02 00:03:49        266.54         171.0        60  2019-05-02 00:03:49  \n",
       "2019-05-02 00:04:49        373.41         259.0        60  2019-05-02 00:04:49  \n",
       "2019-05-02 00:05:49        822.38         380.0        60  2019-05-02 00:05:49  \n",
       "2019-05-02 00:06:49        201.54         173.0        60  2019-05-02 00:06:49  \n",
       "2019-05-02 00:07:49        270.28         200.0        60  2019-05-02 00:07:49  \n",
       "2019-05-02 00:08:49         89.02          89.0        60  2019-05-02 00:08:49  \n",
       "2019-05-02 00:10:49        170.76         124.0        60  2019-05-02 00:10:49  \n",
       "2019-05-02 00:11:49        145.10         119.0        60  2019-05-02 00:11:49  \n",
       "2019-05-02 00:12:49        413.51         258.0        60  2019-05-02 00:12:49  \n",
       "2019-05-02 00:13:49        646.42         203.0        60  2019-05-02 00:13:49  \n",
       "2019-05-02 00:14:49        412.24         275.0        60  2019-05-02 00:14:49  \n",
       "2019-05-02 00:15:49        196.48         125.0        60  2019-05-02 00:15:49  \n",
       "2019-05-02 00:16:49        927.92         406.0        60  2019-05-02 00:16:49  \n",
       "2019-05-02 00:17:49        224.39         183.0        60  2019-05-02 00:17:49  \n",
       "2019-05-02 00:18:49        204.78         162.0        60  2019-05-02 00:18:49  \n",
       "2019-05-02 00:19:49        384.72         215.0        60  2019-05-02 00:19:49  \n",
       "2019-05-02 00:20:49        487.76         240.0        60  2019-05-02 00:20:49  \n",
       "2019-05-02 00:21:49        310.30         211.0        60  2019-05-02 00:21:49  \n",
       "2019-05-02 00:22:49        253.08         253.0        60  2019-05-02 00:22:49  \n",
       "2019-05-02 00:23:49        140.59         129.0        60  2019-05-02 00:23:49  \n",
       "2019-05-02 00:24:49        547.07         278.0        60  2019-05-02 00:24:49  \n",
       "2019-05-02 00:25:49        148.48         127.0        60  2019-05-02 00:25:49  \n",
       "2019-05-02 00:26:49        256.14         214.0        60  2019-05-02 00:26:49  \n",
       "2019-05-02 00:27:49        234.51         201.0        60  2019-05-02 00:27:49  \n",
       "2019-05-02 00:28:49        143.68         133.0        60  2019-05-02 00:28:49  \n",
       "2019-05-02 00:29:49        942.69         451.0        60  2019-05-02 00:29:49  \n",
       "2019-05-02 00:30:49        150.90         138.0        60  2019-05-02 00:30:49  \n",
       "...                           ...           ...       ...                  ...  \n",
       "2019-05-02 23:30:51        249.41         180.0        60  2019-05-02 23:30:51  \n",
       "2019-05-02 23:31:51        151.39         128.0        60  2019-05-02 23:31:51  \n",
       "2019-05-02 23:32:51        226.00         143.0        60  2019-05-02 23:32:51  \n",
       "2019-05-02 23:33:51        258.72         151.0        60  2019-05-02 23:33:51  \n",
       "2019-05-02 23:34:51        415.48         192.0        60  2019-05-02 23:34:51  \n",
       "2019-05-02 23:35:51        201.77         149.0        60  2019-05-02 23:35:51  \n",
       "2019-05-02 23:36:51        332.84         179.0        60  2019-05-02 23:36:51  \n",
       "2019-05-02 23:37:51        356.68         214.0        60  2019-05-02 23:37:51  \n",
       "2019-05-02 23:38:51        453.22         175.0        60  2019-05-02 23:38:51  \n",
       "2019-05-02 23:39:51        207.32         145.0        60  2019-05-02 23:39:51  \n",
       "2019-05-02 23:40:51       1033.02         322.0        60  2019-05-02 23:40:51  \n",
       "2019-05-02 23:41:51        185.52         127.0        60  2019-05-02 23:41:51  \n",
       "2019-05-02 23:42:51        137.94         105.0        60  2019-05-02 23:42:51  \n",
       "2019-05-02 23:43:51        288.71         203.0        60  2019-05-02 23:43:51  \n",
       "2019-05-02 23:44:51        283.59         214.0        60  2019-05-02 23:44:51  \n",
       "2019-05-02 23:45:51        645.84         182.0        60  2019-05-02 23:45:51  \n",
       "2019-05-02 23:46:51        455.57         249.0        60  2019-05-02 23:46:51  \n",
       "2019-05-02 23:47:51        649.39         326.0        60  2019-05-02 23:47:51  \n",
       "2019-05-02 23:48:51        213.63         143.0        60  2019-05-02 23:48:51  \n",
       "2019-05-02 23:49:51        654.95         269.0        60  2019-05-02 23:49:51  \n",
       "2019-05-02 23:50:51        118.35         107.0        60  2019-05-02 23:50:51  \n",
       "2019-05-02 23:51:51        139.71          98.0        60  2019-05-02 23:51:51  \n",
       "2019-05-02 23:52:51        295.96         295.0        60  2019-05-02 23:52:51  \n",
       "2019-05-02 23:53:51        446.44         174.0        60  2019-05-02 23:53:51  \n",
       "2019-05-02 23:54:51        238.43         188.0        60  2019-05-02 23:54:51  \n",
       "2019-05-02 23:55:51        307.59         196.0        60  2019-05-02 23:55:51  \n",
       "2019-05-02 23:56:51        318.95         226.0        60  2019-05-02 23:56:51  \n",
       "2019-05-02 23:57:51        886.99         886.0        60  2019-05-02 23:57:51  \n",
       "2019-05-02 23:58:51        144.09         129.0        60  2019-05-02 23:58:51  \n",
       "2019-05-02 23:59:51        226.56         137.0        60  2019-05-02 23:59:51  \n",
       "\n",
       "[865 rows x 8 columns]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['2019-05-02']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    179496.0\n",
       "mean         60.0\n",
       "std           0.0\n",
       "min          60.0\n",
       "25%          60.0\n",
       "50%          60.0\n",
       "75%          60.0\n",
       "max          60.0\n",
       "Name: interval, dtype: float64"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.interval.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([60], dtype=int64)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.interval.unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>1.794960e+05</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>6.877739e+06</td>\n",
       "      <td>7.175909</td>\n",
       "      <td>1393.177832</td>\n",
       "      <td>108.419626</td>\n",
       "      <td>359.880374</td>\n",
       "      <td>187.812208</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>6.012494e+06</td>\n",
       "      <td>4.325160</td>\n",
       "      <td>1499.486073</td>\n",
       "      <td>79.640693</td>\n",
       "      <td>638.919827</td>\n",
       "      <td>224.464813</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.626440e+05</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>36.550000</td>\n",
       "      <td>3.210000</td>\n",
       "      <td>36.550000</td>\n",
       "      <td>36.000000</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>3.825233e+06</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>607.707500</td>\n",
       "      <td>83.410000</td>\n",
       "      <td>198.280000</td>\n",
       "      <td>144.000000</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>6.811510e+06</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>1154.905000</td>\n",
       "      <td>97.120000</td>\n",
       "      <td>256.090000</td>\n",
       "      <td>167.000000</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>9.981455e+06</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>1834.117500</td>\n",
       "      <td>116.990000</td>\n",
       "      <td>374.410000</td>\n",
       "      <td>202.000000</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>2.019163e+09</td>\n",
       "      <td>31.000000</td>\n",
       "      <td>142650.550000</td>\n",
       "      <td>18896.640000</td>\n",
       "      <td>142468.270000</td>\n",
       "      <td>71325.000000</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 id          count   res_time_sum   res_time_min  \\\n",
       "count  1.794960e+05  179496.000000  179496.000000  179496.000000   \n",
       "mean   6.877739e+06       7.175909    1393.177832     108.419626   \n",
       "std    6.012494e+06       4.325160    1499.486073      79.640693   \n",
       "min    1.626440e+05       1.000000      36.550000       3.210000   \n",
       "25%    3.825233e+06       4.000000     607.707500      83.410000   \n",
       "50%    6.811510e+06       7.000000    1154.905000      97.120000   \n",
       "75%    9.981455e+06      10.000000    1834.117500     116.990000   \n",
       "max    2.019163e+09      31.000000  142650.550000   18896.640000   \n",
       "\n",
       "        res_time_max   res_time_avg  interval  \n",
       "count  179496.000000  179496.000000  179496.0  \n",
       "mean      359.880374     187.812208      60.0  \n",
       "std       638.919827     224.464813       0.0  \n",
       "min        36.550000      36.000000      60.0  \n",
       "25%       198.280000     144.000000      60.0  \n",
       "50%       256.090000     167.000000      60.0  \n",
       "75%       374.410000     202.000000      60.0  \n",
       "max    142468.270000   71325.000000      60.0  "
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "module 'matplotlib' has no attribute 'show'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-21-cf9ea0598a6d>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[0mdf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'count'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mhist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;31m#显示每分钟接口调用分布情况（大部分是在10次以内）\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m: module 'matplotlib' has no attribute 'show'"
     ]
    }
   ],
   "source": [
    "df['count'].hist()\n",
    "plt.show()#显示每分钟接口调用分布情况（大部分是在10次以内）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['count'].hist(bins=30)\n",
    "plt.show()#显示每分钟接口调用分布情况（大部分是在10次以内）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "df1= df['2019-05-01']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "module 'matplotlib' has no attribute 'show'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-23-e59349b05d5d>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[0mdf1\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'count'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m: module 'matplotlib' has no attribute 'show'"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df1['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "module 'matplotlib' has no attribute 'show'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-24-d2d7a82563e3>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[0mdf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'2019-05-01'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'count'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;31m#高峰时段14-15，20-21 点访问高峰\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m: module 'matplotlib' has no attribute 'show'"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['2019-05-01']['count'].plot()\n",
    "plt.show()#高峰时段14-15，20-21 点访问高峰"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "#用count重采样，用一个小时进行采样，图像会比较平滑\n",
    "df2= df['2019-5-1']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:00:00</th>\n",
       "      <td>4.428571</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 01:00:00</th>\n",
       "      <td>2.272727</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 02:00:00</th>\n",
       "      <td>1.833333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 03:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 04:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 05:00:00</th>\n",
       "      <td>2.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 06:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 07:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 08:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 09:00:00</th>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 10:00:00</th>\n",
       "      <td>1.400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 11:00:00</th>\n",
       "      <td>1.604651</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 12:00:00</th>\n",
       "      <td>3.298246</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 13:00:00</th>\n",
       "      <td>6.866667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 14:00:00</th>\n",
       "      <td>10.483333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 15:00:00</th>\n",
       "      <td>12.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 16:00:00</th>\n",
       "      <td>9.916667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 17:00:00</th>\n",
       "      <td>7.666667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 18:00:00</th>\n",
       "      <td>6.783333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 19:00:00</th>\n",
       "      <td>9.850000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 20:00:00</th>\n",
       "      <td>11.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 21:00:00</th>\n",
       "      <td>10.416667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 22:00:00</th>\n",
       "      <td>8.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:00:00</th>\n",
       "      <td>5.083333</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         count\n",
       "created_at                    \n",
       "2019-05-01 00:00:00   4.428571\n",
       "2019-05-01 01:00:00   2.272727\n",
       "2019-05-01 02:00:00   1.833333\n",
       "2019-05-01 03:00:00        NaN\n",
       "2019-05-01 04:00:00        NaN\n",
       "2019-05-01 05:00:00   2.000000\n",
       "2019-05-01 06:00:00        NaN\n",
       "2019-05-01 07:00:00        NaN\n",
       "2019-05-01 08:00:00        NaN\n",
       "2019-05-01 09:00:00   1.000000\n",
       "2019-05-01 10:00:00   1.400000\n",
       "2019-05-01 11:00:00   1.604651\n",
       "2019-05-01 12:00:00   3.298246\n",
       "2019-05-01 13:00:00   6.866667\n",
       "2019-05-01 14:00:00  10.483333\n",
       "2019-05-01 15:00:00  12.333333\n",
       "2019-05-01 16:00:00   9.916667\n",
       "2019-05-01 17:00:00   7.666667\n",
       "2019-05-01 18:00:00   6.783333\n",
       "2019-05-01 19:00:00   9.850000\n",
       "2019-05-01 20:00:00  11.000000\n",
       "2019-05-01 21:00:00  10.416667\n",
       "2019-05-01 22:00:00   8.000000\n",
       "2019-05-01 23:00:00   5.083333"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2= df2[['count']].resample('1H').mean()\n",
    "df2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "module 'matplotlib' has no attribute 'show'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-27-4f3c33aec111>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[0mdf2\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'count'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;31m#折线图容易看峰值，但是不易取得高峰时段\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m: module 'matplotlib' has no attribute 'show'"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df2['count'].plot()\n",
    "plt.show()#折线图容易看峰值，但是不易取得高峰时段"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "module 'matplotlib' has no attribute 'xticks'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-38-b349673a502f>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[1;31m#plt.figure(figsize=(10,3))\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      2\u001b[0m \u001b[0mdf2\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'count'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkind\u001b[0m\u001b[1;33m=\u001b[0m \u001b[1;34m'bar'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mxticks\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrotation\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m60\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;31m#x轴数字旋转\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      4\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mAttributeError\u001b[0m: module 'matplotlib' has no attribute 'xticks'"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAFqCAYAAAAKv6G4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xu0HHWZ7vHvQ8IdDBBiQEIMAwKOgqDb2zAql1GjoMg5IjhLgRldcZwR1NEjcY1rjDoy8To6o4gZQRA4QUVUFOSyIIg6AgkhECCBOBouAhIEFD06CnnPH1VbmmZ3dXd1d1XXL89nrVrp7uqn663anXfXrq76tSICMzNrvs3qLsDMzIbDDd3MLBFu6GZmiXBDNzNLhBu6mVki3NDNzBLhhm5mlgg3dDOzRLihm5klYnqVC9t5551j3rx5VS7SzKzxrr/++gciYla351Xa0OfNm8eKFSuqXKSZWeNJuqOX5/mQi5lZItzQzcwS4YZuZpYIN3Qzs0S4oZuZJcIN3cwsEW7oZmaJcEM3M0uEG7qZWSIqvVLUzIbr8393Zcd5/3DaoRVWYuPAe+hmZono2tAlnSHpfkk3tzz2CUlrJd0k6ZuSdhhtmWZm1k0ve+hnAvPbHrsceHZE7A/cDrx/yHWZmVmfujb0iLgaeLDtscsi4tH87jXAnBHUZmZmfRjGMfS/Bb7XaaakBZJWSFqxYcOGISzOzMymMlBDl/RPwKPAuZ2eExFLImIiIiZmzeo6PruZmZVU+rRFSccDRwCHRUQMryQzMyujVEOXNB84GXhZRPy/4ZZkZmZl9HLa4lLgx8A+ku6W9Bbgc8D2wOWSVkk6bcR1mplZF1330CPijVM8fPoIajEzswH4SlEzs0S4oZuZJcIN3cwsEW7oZmaJcEM3M0uEG7qZWSLc0M3MEuGGbmaWCDd0M7NEuKGbmSXCDd3MLBGlh881MxtHuyxb1XHefYccUGEl1fMeuplZItzQzcwS4YZuZpYIN3Qzs0S4oZuZJcIN3cwsEW7oZmaJcEM3M0uELywyGwNr9n1mx3nPXLumwkqsydzQzcyAeQsv6jhv/eLDK6ykPB9yMTNLhBu6mVkiujZ0SWdIul/SzS2P7STpcknr8n93HG2ZZmbWTS976GcC89seWwhcERHPAK7I75uZWY26NvSIuBp4sO3hI4Gz8ttnAa8bcl1mZtanssfQZ0fEvQD5v08dXklmZlbGyD8UlbRA0gpJKzZs2DDqxZmZbbLKnof+C0m7RsS9knYF7u/0xIhYAiwBmJiYiJLLM7Mh+tQxR3Sc956vfrfCSmyYyjb0C4HjgcX5v98eWkVmZsAVV+7Zcd5hh/53hZU0Ry+nLS4FfgzsI+luSW8ha+Qvl7QOeHl+38zMatR1Dz0i3thh1mFDrsXMzAbgK0XNzBLhhm5mlgg3dDOzRLihm5klwg3dzCwRbuhmZolwQzczS4QbuplZItzQzcwS4YZuZpYIN3Qzs0S4oZuZJcIN3cwsEW7oZmaJcEM3M0uEG7qZWSLc0M3MEuGGbmaWCDd0M7NEuKGbmSXCDd3MLBFu6GZmiXBDNzNLhBu6mVki3NDNzBIxUEOX9G5Jt0i6WdJSSVsNqzAzM+tP6YYuaTfgJGAiIp4NTAOOHVZhZmbWn0EPuUwHtpY0HdgGuGfwkszMrIzpZYMR8XNJnwTuBH4HXBYRl7U/T9ICYAHA3Llzyy7OzGwszVt4Ucd56xcfXmElgx1y2RE4EtgDeBqwraQ3tT8vIpZExERETMyaNat8pWZmVmiQQy5/BfwsIjZExB+BC4C/GE5ZZmbWr0Ea+p3AiyRtI0nAYcCa4ZRlZmb9Kt3QI+Ja4HxgJbA6f60lQ6rLzMz6VPpDUYCI+CDwwSHVYmZmAxiooZvZpuXuhT/oOG/O4pdUWIlNxZf+m5klwg3dzCwRbuhmZolwQzczS4QbuplZItzQzcwS4YZuZpYIN3Qzs0S4oZuZJcIN3cwsEW7oZmaJcEM3M0uEB+cyG6L9ztqv47zVx6+usBLbFHkP3cwsEd5DN7ORW7RoUal51h/voZuZJcIN3cwsEW7oZmaJcEM3M0uEG7qZWSLc0M3MEuGGbmaWCDd0M7NEDNTQJe0g6XxJayWtkfTiYRVmZmb9GfRK0c8Cl0TE6yVtAWwzhJrMzKyE0g1d0lOAlwInAETEH4A/DKcsMzPr1yCHXP4M2AB8WdINkr4kadsh1WVmZn0apKFPB54LfCEiDgR+Cyxsf5KkBZJWSFqxYcOGARZnZmZFBmnodwN3R8S1+f3zyRr8E0TEkoiYiIiJWbNmDbA4MzMrUrqhR8R9wF2S9skfOgy4dShVmZlZ3wY9y+VE4Nz8DJefAn8zeElmZlbGQA09IlYBE0OqxczMBuArRc3MEuGGbmaWCDd0M7NEuKGbmSXCDd3MLBFu6GZmiXBDNzNLhBu6mVki3NDNzBLhhm5mlohBx3IxM7MyFs0omPerUi/pPXQzs0S4oZuZJcIN3cwsEW7oZmaJcEM3M0uEG7qZWSLc0M3MEuGGbmaWCDd0M7NEuKGbmSWitkv/5y28qOO89YsPr7ASM7M0eA/dzCwRbuhmZolwQzczS8TADV3SNEk3SPruMAoyM7NyhrGH/k5gzRBex8zMBjBQQ5c0Bzgc+NJwyjEzs7IG3UP/DPA+YGOnJ0haIGmFpBUbNmwYcHFmZtZJ6YYu6Qjg/oi4vuh5EbEkIiYiYmLWrFllF2dmZl0Msod+EPBaSeuB84BDJZ0zlKrMzKxvpRt6RLw/IuZExDzgWODKiHjT0CozM7O++Dx0M7NEDGUsl4i4CrhqGK9lZmbleA/dzCwRbuhmZolwQzczS4QbuplZItzQzcwS4YZuZpaI2r6CzmysLZpRMO9X1dVh1gfvoZuZJcIN3cwsEW7oZmaJcEM3M0uEG7qZWSLc0M3MEuGGbmaWCDd0M7NEuKGbmSXCDd3MLBFu6GZmiXBDNzNLhBu6mVki3NDNzBLhhm5mlgg3dDOzRDTvCy78xQNmZlPyHrqZWSJKN3RJu0taJmmNpFskvXOYhZmZWX8GOeTyKPCeiFgpaXvgekmXR8StQ6rNzMz6UHoPPSLujYiV+e1HgDXAbsMqzMzM+jOUD0UlzQMOBK6dYt4CYAHA3Llzh7G4pH3qmCM6znvPV79bYSVm1jQDfygqaTvgG8C7IuLX7fMjYklETETExKxZswZdnJmZdTBQQ5e0OVkzPzciLhhOSWZmVkbpQy6SBJwOrImITw+vpNHY76z9Os5bffzqCisxMxuNQfbQDwLeDBwqaVU+vXpIdZmZWZ9K76FHxA8BDbEWMzMbgK8UNTNLRPPGcjHrw7yFF3Wct37x4RVWYjZ63kM3M0uEG7qZWSJ8yMUawYdOzLrzHrqZWSLc0M3MEuGGbmaWCDd0M7NEuKGbmSXCDd3MLBE+bdEqtcuyVR3n3XfIARVWYpYe76GbmSXCDd3MLBFu6GZmiXBDNzNLhBu6mVki3NDNzBLhhm5mlgg3dDOzRLihm5klwg3dzCwRbuhmZolwQzczS8RADV3SfEm3SfqJpIXDKsrMzPpXuqFLmgZ8HngV8OfAGyX9+bAKMzOz/gyyh/4C4CcR8dOI+ANwHnDkcMoyM7N+DdLQdwPuarl/d/6YmZnVQBFRLigdDbwyIt6a338z8IKIOLHteQuABfndfYDbOrzkzsADJUpxrrm5JtTonHPjkHt6RMzq+goRUWoCXgxc2nL//cD7B3i9Fc5tWrkm1Oicc+Oea50GOeSyHHiGpD0kbQEcC1w4wOuZmdkASn+naEQ8KukdwKXANOCMiLhlaJWZmVlfBvqS6Ii4GLh4SLUscW6TyzWhRuecG/fcn5T+UNTMzMaLL/03M0uEG7qZWSIGOoZeliSRXWm6GxDAPcB10eX4j6QZwPy23KUR8fCIcmXrbMr6VbZdaqhxX7Irl1tzF0bEmhHlUl+/qrdLU5ZXaZ3dVL6HLukVwDpgEfBq4HDgQ8C6fF6n3HHASuBgYBtgW+AQ4Pp83rBzZetsyvpVtl1qqPFksqEoBFxHdoqtgKVFg8gNkEt9/areLk1ZXqV19mTQE9lLnDy/Bpg3xeN7AGsKcrcBO0zx+I7A7SPIla2zKetX2Xapocbbgc2neHwLYN0IcqmvX9XbpSnLq7TOXqY6jqFPJxv3pd3Pgc0LciL706TdxnzesHNl62zK+lW5XaqucSPwtCke3zWfN+xc6utX9XZpyvKqrrOrOo6hnwEsl3Qejw/utTvZlaanF+Q+CqyUdFlLbi7wcuAjI8iVrbMp61fldqm6xncBV0ha15bbC3jHCHKpr1/V26Upy6u6zq5qOQ89Hzf9tWQfCIhsj+/CiLi1S25H4JVtuUsj4qER5crW2ZT1q2y71FDjZjz+we1kbnlEPDaiXOrrV/V2acryKq2zm1rOcsn/498qaafsbm8rEREPSVpGyyfDvWQHyJWtsynrV9l2qbrG/LmT08aWf0eSS339yuaqXr+mbM8B6ixU+R66pLnAx4FDgV/lD88ArgQWRsT6DrkDgNPy595N9lttDvAw8PcRsXLIubJ1NmX9KtsuNdT4CuBUsrNxfp4/PIfsT+G/j4jLhpxLff2q3i5NWV6ldfZkkE9Uy0zAj4FjgGktj00jOwZ7TUFuFfDCKR5/EXDjCHJl62zK+lW2XWqoseozlFJfv6q3S1OWV2mdvUylg6UXWHw6T9l5P6k4V/W8qtdvqNuljhqB6VM8vsWocqmvX9XbpSnLq7LOXqY6jqFfL+lU4CyeeJbE8cANBbnvSboI+Epb7jjgkhHkytbZlPWrcrtUXWPVZyilvn5Vb5emLK/qOruq4xj6FsBbePxyWZGt1HeA0yPifwqyr2rLTZ5dUTiEb5lc2Tqbsn5lcwNsl6rX7Zkdct3ONCqbS339qt4uTVlepXV24+FzzcwSUetoi5KOKLpfkFtQdH8EubJ1NmX9KtsuNdS4qOj+CHKpr1/ZXNXr15TtWarOTuoePvf5Xe530n55bK+Xy5bNla2zKetX5Xapusbru9wfdi719at6uzRleVXXOfWL+ZCLmVka6hoPvewYwq8EXteW+3ZEFH4yPECu6jGSq16/yrZLlTVKmk72we1RZIMn/SlH9sHtH4eZS339qt4uTVleHe+Xbuo4y+Vk4I1k4whPjto3h+xUn/MiYnGH3GeAvclO9WnNHUd2Xuc7h5wrW2dT1q+y7VJDjUvJrro7qy13PLBTRBwz5Fzq61f1dmnK8iqtsyeDnMReZmKAsYc7PK5R5crW2ZT1q2q71FDjbf2+5oC51Nev6u3SlOVVWmcvUx0fipYdQ/j3kl4wxePPB34/glzVYyRXvX5Vbpeqa3xI0tHKRsIDQNJmko4BigZAKptLff2q3i5NWV7VdXZVxzH0smMInwB8QdL2PP5nyu7Ar/N5w85VPUZy2TqrzpVZv6prPBb4GHCqpIfI9nx2IBtA7NgR5MrWWTZX9fpVvV2asryq6+yqrvHQS40hnGd3ac1FxH09LrPvXNk6m7J+ZXMDbJdK1y3PziR7nz/Qa6ZsLvX1K5urev2asj0HqbOTWs5yoeQYwsq+KftltHwyLKnXb1bvO1e2zrK5qtevyu1Sw7o94UwcSZNnEawdUS719at6uzRleZXW2U3lx9BV4lvj89xxjPm32zds/SrbLjXU2Onb2M9TuW9x75ZLff2q3i5NWV6ldfZkkE9Uy0yUH0N47L/dvmHrV9l2qaHGRnyLe4PWr+rt0pTlVVpnL1MdZ7lMp/9vjYfsN99UB/w35vOGnStbZ1PWr8rtUnWNVZ+hlPr6Vb1dmrK8quvsqo5j6GXHEG7Ct9sPkqt6/arcLlXX2JRvcW/K+lW9XZqyvKrr7Kqus1zKjiFc9TerVz1GctXrV9l2qaHGRnyLe4PWr+rt0pTlVVpnNx6cy8wsEXWPh76o6H5BbknR/RHkFhXdH0Gu6vWrbLvUUON3i+6PIJf6+lW9XZqyvErr7GiQT1QHnYDXFN0vyD2v6P4IcmXrbMr6VbZdaqhx16L7I8ilvn5Vb5emLK/SOjtNPuRiNkYkPTUi7q9weTMj4pdVLc9Gq44Li6ZLepukSyTdJOlGSd+T9HeSik7rK3rNjn+mSJqWL+8jkg5qm/eBgtw2kt4n6f9I2krSCZIulPRxSdv1Wd/tPTxn/5bbm0v6QL68UyRtU5B7h6Sd89t7Sbpa0sOSrpW0X0HuAklvKrEufybpDEn/Imk7Sf8p6WZJX5c0r0NmM0l/K+mi/Od9vaTzJB3cZVkzJC2WtFbSL/NpTf7YDv3U3fKa3yuY9xRJ/yrpbEl/3Tbv1ILcLpK+IOnzkmZKWiRptaSvSdq1ILdT2zQTuE7SjpJ2KsjNb7m9g6TT8/9L/1fS7ILc4pb3yoSknwLXSrpD0ssKcivz9+OenZ7TITchaZmkcyTtLulySb+StFzSgQW57SR9WNIt+fM3SLpG0gldlpf0+6UXdRxDPxs4gCdfafgc4JxOoSne/K3/CV5dsLwvkl1i+0vg3yV9umXe/yrInQnMJrtg5iJgAvgk2SfSXyio8xFJv86nRyQ9Auw5+XiX5U1aTHbq06eArYHTCnJvj8fHj/gs8G8RsQNwcpfcC8kG2L8zfyMdJWmLgue31rkc+A1wDbAWeBVwCdkpjVM5ney0rH8FlpFtz9OBD0g6sWBZXyMbte7giJgZETPJrqh7CPh6p5Ck53aYnkf23uvky2Q/328Ax0r6hqQt83kvKsidCdxKdgraMuB3ZO/rH1D8M3iA7KvKJqcVZGc9rMxvd3JKy+1PAvcCryH7uXyxIHd4y3vlE8AxEbEX2elynyrI7Ug26NQySddJerekqc6/bncq8HGyn/d/AV+MiBnAwnxeJ+cCPyU7C+RDwL8DbwYOkXRKQS7190t3gxyvKTNRfgzhx8h+yD9rmSbv/6Egd1PL7enAEuACYEvghoLcqvxfAffx+BlBan3NKXL/QTZw/eyWx37Ww3a5oXXZ5Feg9bC821puL++07p2WB2xP9p/lYmAD2Zv0FT3WeWeneUV1ANfk/25Jl6tnS857jGzEu2VTTL/r9jNvuf9PwI+AmcDKkttkVUHuvWS/CPfr872ystPrd1neWmB668+gZd7qHpf3ErJmfF++PRcM872Sz7ux7f7y/N/NgLWb6vull6mOC4seknQ08I2I2Ah/OpfzaIrHEP4pcFhE3Nk+Q9JdUzx/0p/2OiPiUWCBpH8m+wF2PdwQESHp4si3dn6/4wcPEXFi/pt9qaRvAZ9j6qvC2s2QdBTZm3bLyL++qtvygPMlnQl8GPimpHeR/cI6DHjStmotNX/9R8j+ajo7/zP/DWR7UJd1yG2UtDcwA9hG0kRErJC0FzCtQ+aPkvaMiP+W9FzgD/my/6fLut0h6X3AWRHxC4D8kMIJPH5BxlTWAG+LiHXtM7q8V7aUtNnk+zIiPirpbuBqit8rrX/pfqVg3hNExCeVXaD1b3ldH6S398pTJf0j2S/7p0jS5PuzaHnA54GLJS0GLlH2zTmT75VVPSyXiPgB8IP8L6uXA8eQ7SRN5ffKxveZQTZw1esi4lv54Z2i87R/K+kvI+KHkl4DPJgve6Okoispk36/9GSQ3wZlJmAe8FWyvcHbyQZ62pA/tkdB7h+A53SYd2JB7hxg/hSPvxX4Y0HuS8B2Uzy+J/DDHtZzM+Aksj+j7unh+V9um2bnj+8CXNElewJwLdmf8I+Q/Tl3CjCjIHN1yZ/fYWRjUawB/pLsz82fAPcDR3bIHEr2y2Ud2V9UL8wfnwV8vGBZO5KNN72W7D/1g/lyP0b2FV+dcq8H9ukw73UFuY8DfzXF4/MpHpvjwx3eK3sB5/e4XV9Ddgjrvh6e+8G2aVbLe+UrXbIH5//XbgBWk/1ltoApxiRpyZxX8r3yHOBS4HvAvmSHBB8GbgEOKsjtTzbY1cPAD4G9W94vJ/n90nmq9SwXlRx7uG5te0TdnrsrcGBEXDzismqj7IO2h6Lg6rh8z2pm037WVZK0NbBnRNxcdy3WTHVd+j/Vt8b3PfYwPXzbvHOV5Qp/fmWXVfB6fxMRX3bOubb5+5K9x66JiN+2PD4/Ii7pIXdtRPxmXHPd1HHa4rDHHl7q3FjkOv78yi6riw8551wrSScB3wZOBG6RdGTL7I5nx7Tlbh7XXC8q30NXdk72syL/0K/l8S2AWyLiGc6llRtgWTdN9TjZL4O9I2LLKWc6t6nmVgMvjojfKLsm4nzg7Ij4rKQbImLKc9+bkutFHWe5TI4hfEfb472OPexc83JllzWb7Fzk9rOfRHZes3POtZo2efgiItYru3DtfElPz7NNz3VVR0NvyljOzg0vV3ZZ3yU7G+BJp9RJuso559rcJ+mAyVy+B3wE2QVvHa+ablCuq7o+FG3KWM7ODSlXdllmvZI0B3g0Iu6bYt5BEfGjJud64cG5zMwSUet46GZmNjxu6GZmiXBDNzNLxFg19Pz8TOc2oVwTanTOuXHPTar8tEVJncYgF9ngQs4llmtCjc45N+65XtRxHvpXyQawn+r0mq2cSzLXhBqdc27cc93FAEM1lpnIvpnl2R3m3eVcerkm1Oicc+Oe62UqHSy9wOwbT+Z2mDfhXHq5JtTonHPjnutl8oVFZmaJqOND0enAW4CjyAZsCvLxtIHTo21EPuean2tCjc45N+65XtQxfO5Ssq+WOotsPA+AOcDxZF8TdYxzaeWaUKNzzo17rieDHK8pM1H87du3O5dergk1OufcuOd6meq4sOghSUfno+8BIGkzScfw5PGPnUsj14QanXNu3HPdDfLboMwEzCM7D3MDcHs+bcgf28O59HJNqNE558Y918tU61kukmaSHcfv65vgnWturgk1OufcuOc6GuS3wbAmYIlzm1auCTU659y459qncRmca8K5TS7XhBqdc27cc08wLg39fuc2uVwTanTOuXHPPYGvFDUzS0Tle+iS9m+5vbmkD0i6UNIpkrZxLr1cE2p0zrlxz/WijkMuZ7bcXgzsBXwK2Bo4zbkkc02o0Tnnxj3X3TA+We3z09wbWm6vAjbPbwu4ybn0ck2o0Tnnxj3Xy1THF1zMkHQU2V8HW0Y+EE1EhKSiA/rONTfXhBqdc27cc13V0dC/D7w2v32NpNkR8QtJuwBFJ9c719xcE2p0zrlxz3Xls1zMzBJRxx46kvYFjgR24/GxgC+MiDXOpZlrQo3OOTfuuW7qOG3xZOA8sg8ArgOW57eXSlroXHq5JtTonHPjnutJ0Semo5jIRhbbfIrHtwDWOZdergk1OufcuOd6meo4D30j2dcutds1n+dcerkm1Oicc+Oe66qOY+jvAq6QtA64K39sLtnJ9e9wLslcE2p0zrlxz3VVy1kuyr6p4wVkHwiI7Hv1lkfEY86lmWtCjc45N+65rgY5XjOsCVjg3KaVa0KNzjk37rknvc4wXmTgImClc5tWrgk1OufcuOfap3EZD13ObXK5JtTonHPjnnvii+S/HWolaU5E3O3cppNrQo3OOTfuuSe9Th0NXdKewFHA7sCjwDpgaUT8yrk0c02o0Tnnxj3XTR1Xip5ENubvVsDzycYA3h34saSDnUsv14QanXNu3HM9GcaB+D4P/q8GpuW3twGuym/PpWWcYOfSyTWhRuecG/dcL1NdH4pOXtC0JbA9QETcCWzuXLK5JtTonHPjnuvpRav0JWC5pGuAlwIfA5A0C3jQuSRzTajROefGPddVXR+KPgt4JnBzRKx1Lv1cE2p0zrlxz3V93ToaeieStouI3zi36eSaUKNzzo17btK4XFg06VbnNrlcE2p0zrlxzwE1HEOX9I+dZgHbOZdergk1OufcuOd6Ucce+inAjmSf7LZO23Wpx7nm5ppQo3POjXuuu0HOeSwzAf8FPK/DvLucSy/XhBqdc27cc71MpYOlFwj7ALM6zJvtXHq5JtTonHPjnutlGquzXMzMbACD/DYoMwEzgMXAWuCX+bQmf2wH59LLNaFG55wb91wvUx0fin4NeAg4OCJmRsRM4JD8sa87l2SuCTU659y457ob5LdBmQm4zfM2rXnjUofneV6T5/Uy1bGHfoek90maPfmApNmSTubxb8B2Lq1cE2p0zrlxz3VVR0M/BpgJfF/Sg5IeBK4CdgLe4FySuSbU6Jxz457ryme5mJklopaxXCTtK+kwSdu2PT7fuTRzTajROefGPdfVIAfgy0zAScBtwLeA9cCRLfNWOpdergk1OufcuOd6mUoHSy8w+/ql7fLb84AVwDvz+92+tsm5BuaaUKNzzo17rpepjm8smhb5eL8RsV7Zl6KeL+npZKONOZdergk1OufcuOe6quMY+n2SDpi8k6/YEcDOwH7OJZlrQo3OOTfuue4G2b0vMwFzgF06zDvIufRyTajROefGPdfL5NMWzcwSMW5fQWdmZiW5oZuZJcIN3cwsEW7otsmRNE/SX5fInSnp9SVyJ0h6Wr85s365oVujSSpzLcU8oO+GPoATADd0Gzk3dBt7ko6TdJOkGyWdne8pf1rSMuBjkraVdIak5ZJukHRknpsn6QeSVubTX+QvuRh4iaRVkt4taZqkT+T5myS9Lc9L0uck3SrpIuCpXer85/w1bpa0JM+/HpgAzs2Xt/XotpRt6nzaoo01Sc8CLiA7P/cBSTsBnya7COPIiHhM0inArRFxjqQdgOuAA4EANkbE7yU9A1gaERP5lXnvjYgj8mUsAJ4aEf8iaUvgR8DR+Wu8HZgPzAZuBd4aEed3qHWniHgwv3028LWI+I6kq/LlrRjBJjL7kzou/Tfrx6HA+RHxAEBEPCgJ4OsR8Vj+nFcAr5X03vz+VsBc4B7gc/lVeY8Be3dYxiuA/VuOj88AngG8lOyXwGPAPZKu7FLrIZLeB2xDNrb1LcB3+lpbswG4odu4E9medrvftj3nf0fEbU8ISouAXwDPITu8+PuCZZwYEZe25V/dYdlPfgFpK+BUYCIi7sqXvVUvWbNh8TF0G3dXAG+QNBOywxpTPOdS4ETlu+6SDswfnwHcGxEbgTcD0/LHHwG2b8u/XdLmeX5vZeNUXw0cmx9j35Xsi3w7mWzeD0jaDmg9G6a1/4nNAAAAsElEQVR9eWYj4T10G2sRcYukj5J9XddjwA1TPO0jwGeAm/Kmvp5ssKNTgW9IOhpYxuN79TcBj0q6ETgT+CzZmS8r8/wG4HXAN8kO+awGbge+X1Dnw5L+M3/uemB5y+wzgdMk/Q54cUT8rq+NYNYjfyhqZpYIH3IxM0uED7mY9UnSN4E92h4+uf1DVbOq+ZCLmVkifMjFzCwRbuhmZolwQzczS4QbuplZItzQzcwS8f8BJu/W21M6gDUAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#plt.figure(figsize=(10,3))\n",
    "df2['count'].plot(kind= 'bar')\n",
    "plt.xticks(rotation=60)#x轴数字旋转\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "module 'matplotlib' has no attribute 'show'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-39-7eb6f48af38b>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[1;31m#分析访问异常时段，过于频繁，可能被攻击\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      2\u001b[0m \u001b[0mdf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'2019-5-01'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'count'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mboxplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mshowmeans\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mmeanline\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m: module 'matplotlib' has no attribute 'show'"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#分析访问异常时段，过于频繁，可能被攻击\n",
    "df['2019-5-01'][['count']].boxplot(showmeans = True,meanline = True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 20:47:09</th>\n",
       "      <td>227295</td>\n",
       "      <td>21</td>\n",
       "      <td>3117.20</td>\n",
       "      <td>84.90</td>\n",
       "      <td>260.82</td>\n",
       "      <td>148.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 20:47:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 21:03:09</th>\n",
       "      <td>228772</td>\n",
       "      <td>21</td>\n",
       "      <td>3706.20</td>\n",
       "      <td>78.12</td>\n",
       "      <td>321.47</td>\n",
       "      <td>176.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 21:03:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 21:13:09</th>\n",
       "      <td>229667</td>\n",
       "      <td>24</td>\n",
       "      <td>4602.03</td>\n",
       "      <td>76.31</td>\n",
       "      <td>391.12</td>\n",
       "      <td>191.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 21:13:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-02 21:34:11</th>\n",
       "      <td>311202</td>\n",
       "      <td>30</td>\n",
       "      <td>4610.15</td>\n",
       "      <td>72.49</td>\n",
       "      <td>463.41</td>\n",
       "      <td>153.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-02 21:34:11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-03 14:20:13</th>\n",
       "      <td>353337</td>\n",
       "      <td>21</td>\n",
       "      <td>3113.93</td>\n",
       "      <td>74.29</td>\n",
       "      <td>266.20</td>\n",
       "      <td>148.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-03 14:20:13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-03 20:16:13</th>\n",
       "      <td>382826</td>\n",
       "      <td>21</td>\n",
       "      <td>2992.24</td>\n",
       "      <td>86.28</td>\n",
       "      <td>246.71</td>\n",
       "      <td>142.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-03 20:16:13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-03 22:01:13</th>\n",
       "      <td>391993</td>\n",
       "      <td>22</td>\n",
       "      <td>3615.11</td>\n",
       "      <td>108.00</td>\n",
       "      <td>231.49</td>\n",
       "      <td>164.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-03 22:01:13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-03 22:42:13</th>\n",
       "      <td>395648</td>\n",
       "      <td>28</td>\n",
       "      <td>4332.65</td>\n",
       "      <td>76.26</td>\n",
       "      <td>263.33</td>\n",
       "      <td>154.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-03 22:42:13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-05 15:49:17</th>\n",
       "      <td>516174</td>\n",
       "      <td>24</td>\n",
       "      <td>3723.64</td>\n",
       "      <td>88.97</td>\n",
       "      <td>280.92</td>\n",
       "      <td>155.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-05 15:49:17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-05 19:33:17</th>\n",
       "      <td>535419</td>\n",
       "      <td>21</td>\n",
       "      <td>2831.71</td>\n",
       "      <td>78.66</td>\n",
       "      <td>170.69</td>\n",
       "      <td>134.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-05 19:33:17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-06 20:49:20</th>\n",
       "      <td>617417</td>\n",
       "      <td>21</td>\n",
       "      <td>3414.39</td>\n",
       "      <td>87.02</td>\n",
       "      <td>257.39</td>\n",
       "      <td>162.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-06 20:49:20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-08 15:56:23</th>\n",
       "      <td>744622</td>\n",
       "      <td>21</td>\n",
       "      <td>3356.42</td>\n",
       "      <td>85.43</td>\n",
       "      <td>252.38</td>\n",
       "      <td>159.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-08 15:56:23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-08 20:50:23</th>\n",
       "      <td>768576</td>\n",
       "      <td>23</td>\n",
       "      <td>3998.72</td>\n",
       "      <td>90.64</td>\n",
       "      <td>398.60</td>\n",
       "      <td>173.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-08 20:50:23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-08 20:51:23</th>\n",
       "      <td>768642</td>\n",
       "      <td>21</td>\n",
       "      <td>3736.10</td>\n",
       "      <td>87.71</td>\n",
       "      <td>327.77</td>\n",
       "      <td>177.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-08 20:51:23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-08 20:59:23</th>\n",
       "      <td>769282</td>\n",
       "      <td>21</td>\n",
       "      <td>3161.50</td>\n",
       "      <td>89.86</td>\n",
       "      <td>423.33</td>\n",
       "      <td>150.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-08 20:59:23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-09 20:49:25</th>\n",
       "      <td>844969</td>\n",
       "      <td>21</td>\n",
       "      <td>3962.84</td>\n",
       "      <td>129.44</td>\n",
       "      <td>322.40</td>\n",
       "      <td>188.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-09 20:49:25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-09 21:41:25</th>\n",
       "      <td>849468</td>\n",
       "      <td>21</td>\n",
       "      <td>3199.91</td>\n",
       "      <td>75.82</td>\n",
       "      <td>276.96</td>\n",
       "      <td>152.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-09 21:41:25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-09 22:09:25</th>\n",
       "      <td>851978</td>\n",
       "      <td>22</td>\n",
       "      <td>3582.53</td>\n",
       "      <td>108.02</td>\n",
       "      <td>246.32</td>\n",
       "      <td>162.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-09 22:09:25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-10 20:07:26</th>\n",
       "      <td>917452</td>\n",
       "      <td>22</td>\n",
       "      <td>3362.64</td>\n",
       "      <td>80.28</td>\n",
       "      <td>225.21</td>\n",
       "      <td>152.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-10 20:07:26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-10 21:17:26</th>\n",
       "      <td>923498</td>\n",
       "      <td>21</td>\n",
       "      <td>3407.67</td>\n",
       "      <td>100.55</td>\n",
       "      <td>263.82</td>\n",
       "      <td>162.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-10 21:17:26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-10 21:48:26</th>\n",
       "      <td>926260</td>\n",
       "      <td>21</td>\n",
       "      <td>3274.11</td>\n",
       "      <td>84.12</td>\n",
       "      <td>354.66</td>\n",
       "      <td>155.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-10 21:48:26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-10 22:03:26</th>\n",
       "      <td>927593</td>\n",
       "      <td>21</td>\n",
       "      <td>3525.31</td>\n",
       "      <td>119.81</td>\n",
       "      <td>283.33</td>\n",
       "      <td>167.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-10 22:03:26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-11 17:02:28</th>\n",
       "      <td>978285</td>\n",
       "      <td>21</td>\n",
       "      <td>3123.46</td>\n",
       "      <td>68.51</td>\n",
       "      <td>359.94</td>\n",
       "      <td>148.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-11 17:02:28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-11 20:45:28</th>\n",
       "      <td>997287</td>\n",
       "      <td>21</td>\n",
       "      <td>3515.21</td>\n",
       "      <td>85.81</td>\n",
       "      <td>297.33</td>\n",
       "      <td>167.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-11 20:45:28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-11 20:48:28</th>\n",
       "      <td>997553</td>\n",
       "      <td>21</td>\n",
       "      <td>3006.97</td>\n",
       "      <td>83.48</td>\n",
       "      <td>353.50</td>\n",
       "      <td>143.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-11 20:48:28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-11 22:17:28</th>\n",
       "      <td>1005575</td>\n",
       "      <td>23</td>\n",
       "      <td>3709.56</td>\n",
       "      <td>92.62</td>\n",
       "      <td>314.90</td>\n",
       "      <td>161.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-11 22:17:28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-12 16:28:30</th>\n",
       "      <td>1053257</td>\n",
       "      <td>22</td>\n",
       "      <td>3328.76</td>\n",
       "      <td>78.25</td>\n",
       "      <td>257.35</td>\n",
       "      <td>151.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-12 16:28:30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-12 21:01:30</th>\n",
       "      <td>1076982</td>\n",
       "      <td>21</td>\n",
       "      <td>3177.52</td>\n",
       "      <td>92.07</td>\n",
       "      <td>226.59</td>\n",
       "      <td>151.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-12 21:01:30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-12 21:06:30</th>\n",
       "      <td>1077421</td>\n",
       "      <td>21</td>\n",
       "      <td>3887.31</td>\n",
       "      <td>100.05</td>\n",
       "      <td>292.41</td>\n",
       "      <td>185.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-12 21:06:30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-13 15:51:32</th>\n",
       "      <td>1127427</td>\n",
       "      <td>23</td>\n",
       "      <td>3505.80</td>\n",
       "      <td>78.76</td>\n",
       "      <td>249.86</td>\n",
       "      <td>152.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-13 15:51:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-27 16:08:18</th>\n",
       "      <td>13198417</td>\n",
       "      <td>27</td>\n",
       "      <td>13177.00</td>\n",
       "      <td>80.89</td>\n",
       "      <td>2768.33</td>\n",
       "      <td>488.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-27 16:08:18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-27 18:29:18</th>\n",
       "      <td>13209102</td>\n",
       "      <td>23</td>\n",
       "      <td>5264.64</td>\n",
       "      <td>90.01</td>\n",
       "      <td>515.05</td>\n",
       "      <td>228.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-27 18:29:18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-27 19:28:18</th>\n",
       "      <td>13213583</td>\n",
       "      <td>21</td>\n",
       "      <td>4612.10</td>\n",
       "      <td>93.98</td>\n",
       "      <td>372.50</td>\n",
       "      <td>219.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-27 19:28:18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-27 19:49:18</th>\n",
       "      <td>13215160</td>\n",
       "      <td>28</td>\n",
       "      <td>5647.21</td>\n",
       "      <td>78.28</td>\n",
       "      <td>648.65</td>\n",
       "      <td>201.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-27 19:49:18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-27 20:03:18</th>\n",
       "      <td>13216219</td>\n",
       "      <td>21</td>\n",
       "      <td>5146.42</td>\n",
       "      <td>97.18</td>\n",
       "      <td>1250.87</td>\n",
       "      <td>245.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-27 20:03:18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-27 20:05:18</th>\n",
       "      <td>13216360</td>\n",
       "      <td>21</td>\n",
       "      <td>5242.64</td>\n",
       "      <td>113.51</td>\n",
       "      <td>507.65</td>\n",
       "      <td>249.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-27 20:05:18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-27 21:13:18</th>\n",
       "      <td>13221934</td>\n",
       "      <td>26</td>\n",
       "      <td>4656.33</td>\n",
       "      <td>102.24</td>\n",
       "      <td>300.69</td>\n",
       "      <td>179.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-27 21:13:18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-27 21:16:18</th>\n",
       "      <td>13222147</td>\n",
       "      <td>24</td>\n",
       "      <td>5160.23</td>\n",
       "      <td>95.19</td>\n",
       "      <td>538.70</td>\n",
       "      <td>215.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-27 21:16:18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-27 21:58:18</th>\n",
       "      <td>13225601</td>\n",
       "      <td>25</td>\n",
       "      <td>9587.37</td>\n",
       "      <td>97.71</td>\n",
       "      <td>1304.84</td>\n",
       "      <td>383.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-27 21:58:18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-27 22:01:18</th>\n",
       "      <td>13225838</td>\n",
       "      <td>21</td>\n",
       "      <td>5813.94</td>\n",
       "      <td>118.05</td>\n",
       "      <td>1130.25</td>\n",
       "      <td>276.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-27 22:01:18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-28 16:19:19</th>\n",
       "      <td>13270790</td>\n",
       "      <td>24</td>\n",
       "      <td>5168.07</td>\n",
       "      <td>94.52</td>\n",
       "      <td>869.76</td>\n",
       "      <td>215.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-28 16:19:19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-28 20:51:19</th>\n",
       "      <td>13290172</td>\n",
       "      <td>23</td>\n",
       "      <td>7090.56</td>\n",
       "      <td>89.50</td>\n",
       "      <td>1613.17</td>\n",
       "      <td>308.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-28 20:51:19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-28 20:52:19</th>\n",
       "      <td>13290236</td>\n",
       "      <td>23</td>\n",
       "      <td>5801.02</td>\n",
       "      <td>77.39</td>\n",
       "      <td>802.72</td>\n",
       "      <td>252.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-28 20:52:19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-28 22:53:19</th>\n",
       "      <td>13299513</td>\n",
       "      <td>22</td>\n",
       "      <td>4000.22</td>\n",
       "      <td>83.75</td>\n",
       "      <td>356.17</td>\n",
       "      <td>181.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-28 22:53:19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-29 16:02:20</th>\n",
       "      <td>13337463</td>\n",
       "      <td>23</td>\n",
       "      <td>10137.39</td>\n",
       "      <td>96.03</td>\n",
       "      <td>1245.05</td>\n",
       "      <td>440.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-29 16:02:20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-29 20:31:20</th>\n",
       "      <td>13357016</td>\n",
       "      <td>22</td>\n",
       "      <td>8799.29</td>\n",
       "      <td>105.93</td>\n",
       "      <td>2386.80</td>\n",
       "      <td>399.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-29 20:31:20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-29 21:12:20</th>\n",
       "      <td>13360336</td>\n",
       "      <td>21</td>\n",
       "      <td>4702.18</td>\n",
       "      <td>97.59</td>\n",
       "      <td>699.19</td>\n",
       "      <td>223.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-29 21:12:20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-29 21:34:20</th>\n",
       "      <td>13362012</td>\n",
       "      <td>24</td>\n",
       "      <td>5368.32</td>\n",
       "      <td>73.77</td>\n",
       "      <td>742.53</td>\n",
       "      <td>223.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-29 21:34:20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-29 22:46:20</th>\n",
       "      <td>13367764</td>\n",
       "      <td>21</td>\n",
       "      <td>6892.93</td>\n",
       "      <td>137.39</td>\n",
       "      <td>1309.64</td>\n",
       "      <td>328.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-29 22:46:20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-29 23:02:20</th>\n",
       "      <td>13368878</td>\n",
       "      <td>24</td>\n",
       "      <td>6331.52</td>\n",
       "      <td>103.16</td>\n",
       "      <td>1196.49</td>\n",
       "      <td>263.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-29 23:02:20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 20:02:21</th>\n",
       "      <td>13424237</td>\n",
       "      <td>24</td>\n",
       "      <td>5038.76</td>\n",
       "      <td>95.34</td>\n",
       "      <td>445.75</td>\n",
       "      <td>209.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 20:02:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 20:16:21</th>\n",
       "      <td>13425348</td>\n",
       "      <td>26</td>\n",
       "      <td>6415.77</td>\n",
       "      <td>85.31</td>\n",
       "      <td>860.74</td>\n",
       "      <td>246.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 20:16:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:17:21</th>\n",
       "      <td>13430343</td>\n",
       "      <td>23</td>\n",
       "      <td>4954.28</td>\n",
       "      <td>97.52</td>\n",
       "      <td>427.05</td>\n",
       "      <td>215.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 21:17:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:24:21</th>\n",
       "      <td>13430888</td>\n",
       "      <td>21</td>\n",
       "      <td>3977.18</td>\n",
       "      <td>93.16</td>\n",
       "      <td>383.06</td>\n",
       "      <td>189.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 21:24:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:28:21</th>\n",
       "      <td>13431138</td>\n",
       "      <td>25</td>\n",
       "      <td>8782.18</td>\n",
       "      <td>98.49</td>\n",
       "      <td>2549.79</td>\n",
       "      <td>351.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 21:28:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:33:21</th>\n",
       "      <td>13431497</td>\n",
       "      <td>27</td>\n",
       "      <td>6456.64</td>\n",
       "      <td>99.65</td>\n",
       "      <td>978.91</td>\n",
       "      <td>239.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 21:33:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:43:21</th>\n",
       "      <td>13432325</td>\n",
       "      <td>21</td>\n",
       "      <td>6371.84</td>\n",
       "      <td>65.98</td>\n",
       "      <td>1175.37</td>\n",
       "      <td>303.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 21:43:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:47:21</th>\n",
       "      <td>13432632</td>\n",
       "      <td>21</td>\n",
       "      <td>3992.83</td>\n",
       "      <td>87.83</td>\n",
       "      <td>440.88</td>\n",
       "      <td>190.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 21:47:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:53:21</th>\n",
       "      <td>13433108</td>\n",
       "      <td>24</td>\n",
       "      <td>8467.02</td>\n",
       "      <td>120.22</td>\n",
       "      <td>1511.17</td>\n",
       "      <td>352.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 21:53:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 22:17:21</th>\n",
       "      <td>13435027</td>\n",
       "      <td>21</td>\n",
       "      <td>4926.35</td>\n",
       "      <td>85.01</td>\n",
       "      <td>826.90</td>\n",
       "      <td>234.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 22:17:21</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>746 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                           id  count  res_time_sum  res_time_min  \\\n",
       "created_at                                                         \n",
       "2018-11-01 20:47:09    227295     21       3117.20         84.90   \n",
       "2018-11-01 21:03:09    228772     21       3706.20         78.12   \n",
       "2018-11-01 21:13:09    229667     24       4602.03         76.31   \n",
       "2018-11-02 21:34:11    311202     30       4610.15         72.49   \n",
       "2018-11-03 14:20:13    353337     21       3113.93         74.29   \n",
       "2018-11-03 20:16:13    382826     21       2992.24         86.28   \n",
       "2018-11-03 22:01:13    391993     22       3615.11        108.00   \n",
       "2018-11-03 22:42:13    395648     28       4332.65         76.26   \n",
       "2018-11-05 15:49:17    516174     24       3723.64         88.97   \n",
       "2018-11-05 19:33:17    535419     21       2831.71         78.66   \n",
       "2018-11-06 20:49:20    617417     21       3414.39         87.02   \n",
       "2018-11-08 15:56:23    744622     21       3356.42         85.43   \n",
       "2018-11-08 20:50:23    768576     23       3998.72         90.64   \n",
       "2018-11-08 20:51:23    768642     21       3736.10         87.71   \n",
       "2018-11-08 20:59:23    769282     21       3161.50         89.86   \n",
       "2018-11-09 20:49:25    844969     21       3962.84        129.44   \n",
       "2018-11-09 21:41:25    849468     21       3199.91         75.82   \n",
       "2018-11-09 22:09:25    851978     22       3582.53        108.02   \n",
       "2018-11-10 20:07:26    917452     22       3362.64         80.28   \n",
       "2018-11-10 21:17:26    923498     21       3407.67        100.55   \n",
       "2018-11-10 21:48:26    926260     21       3274.11         84.12   \n",
       "2018-11-10 22:03:26    927593     21       3525.31        119.81   \n",
       "2018-11-11 17:02:28    978285     21       3123.46         68.51   \n",
       "2018-11-11 20:45:28    997287     21       3515.21         85.81   \n",
       "2018-11-11 20:48:28    997553     21       3006.97         83.48   \n",
       "2018-11-11 22:17:28   1005575     23       3709.56         92.62   \n",
       "2018-11-12 16:28:30   1053257     22       3328.76         78.25   \n",
       "2018-11-12 21:01:30   1076982     21       3177.52         92.07   \n",
       "2018-11-12 21:06:30   1077421     21       3887.31        100.05   \n",
       "2018-11-13 15:51:32   1127427     23       3505.80         78.76   \n",
       "...                       ...    ...           ...           ...   \n",
       "2019-05-27 16:08:18  13198417     27      13177.00         80.89   \n",
       "2019-05-27 18:29:18  13209102     23       5264.64         90.01   \n",
       "2019-05-27 19:28:18  13213583     21       4612.10         93.98   \n",
       "2019-05-27 19:49:18  13215160     28       5647.21         78.28   \n",
       "2019-05-27 20:03:18  13216219     21       5146.42         97.18   \n",
       "2019-05-27 20:05:18  13216360     21       5242.64        113.51   \n",
       "2019-05-27 21:13:18  13221934     26       4656.33        102.24   \n",
       "2019-05-27 21:16:18  13222147     24       5160.23         95.19   \n",
       "2019-05-27 21:58:18  13225601     25       9587.37         97.71   \n",
       "2019-05-27 22:01:18  13225838     21       5813.94        118.05   \n",
       "2019-05-28 16:19:19  13270790     24       5168.07         94.52   \n",
       "2019-05-28 20:51:19  13290172     23       7090.56         89.50   \n",
       "2019-05-28 20:52:19  13290236     23       5801.02         77.39   \n",
       "2019-05-28 22:53:19  13299513     22       4000.22         83.75   \n",
       "2019-05-29 16:02:20  13337463     23      10137.39         96.03   \n",
       "2019-05-29 20:31:20  13357016     22       8799.29        105.93   \n",
       "2019-05-29 21:12:20  13360336     21       4702.18         97.59   \n",
       "2019-05-29 21:34:20  13362012     24       5368.32         73.77   \n",
       "2019-05-29 22:46:20  13367764     21       6892.93        137.39   \n",
       "2019-05-29 23:02:20  13368878     24       6331.52        103.16   \n",
       "2019-05-30 20:02:21  13424237     24       5038.76         95.34   \n",
       "2019-05-30 20:16:21  13425348     26       6415.77         85.31   \n",
       "2019-05-30 21:17:21  13430343     23       4954.28         97.52   \n",
       "2019-05-30 21:24:21  13430888     21       3977.18         93.16   \n",
       "2019-05-30 21:28:21  13431138     25       8782.18         98.49   \n",
       "2019-05-30 21:33:21  13431497     27       6456.64         99.65   \n",
       "2019-05-30 21:43:21  13432325     21       6371.84         65.98   \n",
       "2019-05-30 21:47:21  13432632     21       3992.83         87.83   \n",
       "2019-05-30 21:53:21  13433108     24       8467.02        120.22   \n",
       "2019-05-30 22:17:21  13435027     21       4926.35         85.01   \n",
       "\n",
       "                     res_time_max  res_time_avg  interval           created_at  \n",
       "created_at                                                                      \n",
       "2018-11-01 20:47:09        260.82         148.0        60  2018-11-01 20:47:09  \n",
       "2018-11-01 21:03:09        321.47         176.0        60  2018-11-01 21:03:09  \n",
       "2018-11-01 21:13:09        391.12         191.0        60  2018-11-01 21:13:09  \n",
       "2018-11-02 21:34:11        463.41         153.0        60  2018-11-02 21:34:11  \n",
       "2018-11-03 14:20:13        266.20         148.0        60  2018-11-03 14:20:13  \n",
       "2018-11-03 20:16:13        246.71         142.0        60  2018-11-03 20:16:13  \n",
       "2018-11-03 22:01:13        231.49         164.0        60  2018-11-03 22:01:13  \n",
       "2018-11-03 22:42:13        263.33         154.0        60  2018-11-03 22:42:13  \n",
       "2018-11-05 15:49:17        280.92         155.0        60  2018-11-05 15:49:17  \n",
       "2018-11-05 19:33:17        170.69         134.0        60  2018-11-05 19:33:17  \n",
       "2018-11-06 20:49:20        257.39         162.0        60  2018-11-06 20:49:20  \n",
       "2018-11-08 15:56:23        252.38         159.0        60  2018-11-08 15:56:23  \n",
       "2018-11-08 20:50:23        398.60         173.0        60  2018-11-08 20:50:23  \n",
       "2018-11-08 20:51:23        327.77         177.0        60  2018-11-08 20:51:23  \n",
       "2018-11-08 20:59:23        423.33         150.0        60  2018-11-08 20:59:23  \n",
       "2018-11-09 20:49:25        322.40         188.0        60  2018-11-09 20:49:25  \n",
       "2018-11-09 21:41:25        276.96         152.0        60  2018-11-09 21:41:25  \n",
       "2018-11-09 22:09:25        246.32         162.0        60  2018-11-09 22:09:25  \n",
       "2018-11-10 20:07:26        225.21         152.0        60  2018-11-10 20:07:26  \n",
       "2018-11-10 21:17:26        263.82         162.0        60  2018-11-10 21:17:26  \n",
       "2018-11-10 21:48:26        354.66         155.0        60  2018-11-10 21:48:26  \n",
       "2018-11-10 22:03:26        283.33         167.0        60  2018-11-10 22:03:26  \n",
       "2018-11-11 17:02:28        359.94         148.0        60  2018-11-11 17:02:28  \n",
       "2018-11-11 20:45:28        297.33         167.0        60  2018-11-11 20:45:28  \n",
       "2018-11-11 20:48:28        353.50         143.0        60  2018-11-11 20:48:28  \n",
       "2018-11-11 22:17:28        314.90         161.0        60  2018-11-11 22:17:28  \n",
       "2018-11-12 16:28:30        257.35         151.0        60  2018-11-12 16:28:30  \n",
       "2018-11-12 21:01:30        226.59         151.0        60  2018-11-12 21:01:30  \n",
       "2018-11-12 21:06:30        292.41         185.0        60  2018-11-12 21:06:30  \n",
       "2018-11-13 15:51:32        249.86         152.0        60  2018-11-13 15:51:32  \n",
       "...                           ...           ...       ...                  ...  \n",
       "2019-05-27 16:08:18       2768.33         488.0        60  2019-05-27 16:08:18  \n",
       "2019-05-27 18:29:18        515.05         228.0        60  2019-05-27 18:29:18  \n",
       "2019-05-27 19:28:18        372.50         219.0        60  2019-05-27 19:28:18  \n",
       "2019-05-27 19:49:18        648.65         201.0        60  2019-05-27 19:49:18  \n",
       "2019-05-27 20:03:18       1250.87         245.0        60  2019-05-27 20:03:18  \n",
       "2019-05-27 20:05:18        507.65         249.0        60  2019-05-27 20:05:18  \n",
       "2019-05-27 21:13:18        300.69         179.0        60  2019-05-27 21:13:18  \n",
       "2019-05-27 21:16:18        538.70         215.0        60  2019-05-27 21:16:18  \n",
       "2019-05-27 21:58:18       1304.84         383.0        60  2019-05-27 21:58:18  \n",
       "2019-05-27 22:01:18       1130.25         276.0        60  2019-05-27 22:01:18  \n",
       "2019-05-28 16:19:19        869.76         215.0        60  2019-05-28 16:19:19  \n",
       "2019-05-28 20:51:19       1613.17         308.0        60  2019-05-28 20:51:19  \n",
       "2019-05-28 20:52:19        802.72         252.0        60  2019-05-28 20:52:19  \n",
       "2019-05-28 22:53:19        356.17         181.0        60  2019-05-28 22:53:19  \n",
       "2019-05-29 16:02:20       1245.05         440.0        60  2019-05-29 16:02:20  \n",
       "2019-05-29 20:31:20       2386.80         399.0        60  2019-05-29 20:31:20  \n",
       "2019-05-29 21:12:20        699.19         223.0        60  2019-05-29 21:12:20  \n",
       "2019-05-29 21:34:20        742.53         223.0        60  2019-05-29 21:34:20  \n",
       "2019-05-29 22:46:20       1309.64         328.0        60  2019-05-29 22:46:20  \n",
       "2019-05-29 23:02:20       1196.49         263.0        60  2019-05-29 23:02:20  \n",
       "2019-05-30 20:02:21        445.75         209.0        60  2019-05-30 20:02:21  \n",
       "2019-05-30 20:16:21        860.74         246.0        60  2019-05-30 20:16:21  \n",
       "2019-05-30 21:17:21        427.05         215.0        60  2019-05-30 21:17:21  \n",
       "2019-05-30 21:24:21        383.06         189.0        60  2019-05-30 21:24:21  \n",
       "2019-05-30 21:28:21       2549.79         351.0        60  2019-05-30 21:28:21  \n",
       "2019-05-30 21:33:21        978.91         239.0        60  2019-05-30 21:33:21  \n",
       "2019-05-30 21:43:21       1175.37         303.0        60  2019-05-30 21:43:21  \n",
       "2019-05-30 21:47:21        440.88         190.0        60  2019-05-30 21:47:21  \n",
       "2019-05-30 21:53:21       1511.17         352.0        60  2019-05-30 21:53:21  \n",
       "2019-05-30 22:17:21        826.90         234.0        60  2019-05-30 22:17:21  \n",
       "\n",
       "[746 rows x 8 columns]"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#分析有没有异常时段\n",
    "df[df['count']>20] "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1f54d462b38>"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#某一天的平均响应时间\n",
    "df['2019-5-1']['res_time_avg'].plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "module 'matplotlib' has no attribute 'show'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-45-f2326811f8ef>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[0mdf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'2019-5-01'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'res_time_avg'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mboxplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mshowmeans\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mmeanline\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m: module 'matplotlib' has no attribute 'show'"
     ]
    },
    {
     "data": {
      "image/png": "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S4GNyesHgR9K+iYwGZgG/LIC1zcbMhHBvffeyyOPPMKLL77Ie9/7Xnp6ehju99uYHUlZSUDSWOBjwKKC4hskzSLf1bO197OIeEbS3cAmYB/w2YjYX871zYZaXV0dO3fu5Pe//z0RwbZt2xg1ahR1db753mpTWb/ciHgLmHhI2V8fpX4H4BE0q1n19fX09PRwzTXXMH/+fFauXMktt9zCuHHjqh2aWUl8x7BZEXp6erjoootYvnw5F154IcuXL+eiiy6ip6en2qGZlcRJwKxI06dP54wzzmDUqFGcccYZTJ8+vdohmZXMHZlmRZgwYQI33ngjN9xwA9OnT2fTpk186UtfYsKECdUOzawkTgJmRRg7dixvv/02S5cuZe/evRx33HGMGTOGsWPHVjs0s5K4O8isCNu2bWP8+PE0NjYiicbGRsaPH8+2bduqHZpZSZwEzIowZswYli5dypYtW1i7di1btmxh6dKljBkzptqhmZXEm8qYFWHUqFFMnDiR8ePH990stmvXLl577TUOHDhQ7fDMAG8qYzZoGhsb2bt3L5BfQgJg7969NDZ6LUSrTR4YNivS2LFjWb58ed9S0pdddlm1QzIrmZOAWRG2b9/OokWLmDdvHrt376a+vp4rr7ySW2+9tdqhmZXE3UFmRZg8eTKZTIZJkyYxatQoJk2aRCaTYfLkydUOzawkbgmYFeGtt97ijTfeoL6+nojg7bff5o033mDUKP89ZbXJv1yzIuzYsYOTTjqJE044AYATTjiBk046iR07dlQ5MrPSOAmYFWn+/PmMGzcOSYwbN4758+dXOySzkrk7yKxId911FzfeeGPf2kHXXntttUMyK5mTgFkR6urqGD169EFrBx133HHs3+/9kaw2uTvIrAj79u1j7969TJw4se/u4b1797Jv375qh2ZWEicBsyLU19fT2trKxIn5DfUmTpxIa2sr9fX1VY7MrDROAmZF2LNnD6tWrerbSaynp4dVq1axZ8+eKkdmVpqyk4CkrZKelvSkpK6kbIKk1ZKeS55PScol6duSNkt6StIHyr2+2VBqbGxk586dbN26lQMHDrB161Z27tzptYOsZlWqJTAnImYVrFq3FFgTEdOANcl7gHnAtOSxELilQtc3GxKvv/46e/bs6bs5bNSoUezZs4fXX3+9ypGZlWawuoMuBm5PXt8OXFJQfkfkPQac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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['2019-5-01'][['res_time_avg']].boxplot(showmeans = True,meanline = True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:2: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n",
      "  \n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:34:48</th>\n",
       "      <td>11408773</td>\n",
       "      <td>1</td>\n",
       "      <td>1694.47</td>\n",
       "      <td>1694.47</td>\n",
       "      <td>1694.47</td>\n",
       "      <td>1694.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:34:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 14:00:49</th>\n",
       "      <td>11431010</td>\n",
       "      <td>17</td>\n",
       "      <td>19770.18</td>\n",
       "      <td>207.54</td>\n",
       "      <td>2974.52</td>\n",
       "      <td>1162.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 14:00:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 18:36:49</th>\n",
       "      <td>11451787</td>\n",
       "      <td>8</td>\n",
       "      <td>8799.92</td>\n",
       "      <td>96.59</td>\n",
       "      <td>3233.26</td>\n",
       "      <td>1099.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 18:36:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 19:09:49</th>\n",
       "      <td>11454117</td>\n",
       "      <td>6</td>\n",
       "      <td>7399.94</td>\n",
       "      <td>307.39</td>\n",
       "      <td>3153.02</td>\n",
       "      <td>1233.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 19:09:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 19:10:49</th>\n",
       "      <td>11454151</td>\n",
       "      <td>13</td>\n",
       "      <td>23595.60</td>\n",
       "      <td>206.20</td>\n",
       "      <td>4664.84</td>\n",
       "      <td>1815.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 19:10:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 20:38:49</th>\n",
       "      <td>11460717</td>\n",
       "      <td>15</td>\n",
       "      <td>16169.25</td>\n",
       "      <td>142.47</td>\n",
       "      <td>3624.26</td>\n",
       "      <td>1077.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 20:38:49</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           id  count  res_time_sum  res_time_min  \\\n",
       "created_at                                                         \n",
       "2019-05-01 00:34:48  11408773      1       1694.47       1694.47   \n",
       "2019-05-01 14:00:49  11431010     17      19770.18        207.54   \n",
       "2019-05-01 18:36:49  11451787      8       8799.92         96.59   \n",
       "2019-05-01 19:09:49  11454117      6       7399.94        307.39   \n",
       "2019-05-01 19:10:49  11454151     13      23595.60        206.20   \n",
       "2019-05-01 20:38:49  11460717     15      16169.25        142.47   \n",
       "\n",
       "                     res_time_max  res_time_avg  interval           created_at  \n",
       "created_at                                                                      \n",
       "2019-05-01 00:34:48       1694.47        1694.0        60  2019-05-01 00:34:48  \n",
       "2019-05-01 14:00:49       2974.52        1162.0        60  2019-05-01 14:00:49  \n",
       "2019-05-01 18:36:49       3233.26        1099.0        60  2019-05-01 18:36:49  \n",
       "2019-05-01 19:09:49       3153.02        1233.0        60  2019-05-01 19:09:49  \n",
       "2019-05-01 19:10:49       4664.84        1815.0        60  2019-05-01 19:10:49  \n",
       "2019-05-01 20:38:49       3624.26        1077.0        60  2019-05-01 20:38:49  "
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2= df['2019-5-1']\n",
    "df2[df['res_time_avg']>1000]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "#2019-05-01 00:34:48\t11408773\t1\t1694.47\t1694.47\t1694.47\t1694.0\t60,可能为异常"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1f54d2266a0>"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['2019-5-1'][['res_time_sum','res_time_min','res_time_max', 'res_time_avg','created_at']].plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1f54cfb1cc0>"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data = df['2019-5-1'].resample('20T').mean()\n",
    "data[['res_time_sum','res_time_min','res_time_max', 'res_time_avg']].plot()#分析响应时间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data2 = df['2019-5-1':'2019-5-10']['count'].plot()#分析每天的数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Int64Index([3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
       "            ...\n",
       "            3, 3, 3, 3, 3, 3, 3, 3, 3, 3],\n",
       "           dtype='int64', name='created_at', length=865)"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#分析每周的数据\n",
    "df['2019-5-2'].index.weekday#[0,1,2,3,4,5,6]代表周一到周日"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "      <th>weekday</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>162644</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                             id  count  res_time_sum  res_time_min  \\\n",
       "created_at                                                           \n",
       "2018-11-01 00:00:07  2019162542      8       1057.31         88.75   \n",
       "2018-11-01 00:01:07      162644      5        749.12        103.79   \n",
       "\n",
       "                     res_time_max  res_time_avg  interval  \\\n",
       "created_at                                                  \n",
       "2018-11-01 00:00:07        177.72         132.0        60   \n",
       "2018-11-01 00:01:07        240.38         149.0        60   \n",
       "\n",
       "                              created_at  weekday  \n",
       "created_at                                         \n",
       "2018-11-01 00:00:07  2018-11-01 00:00:07        3  \n",
       "2018-11-01 00:01:07  2018-11-01 00:01:07        3  "
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['weekday'] = df.index.weekday\n",
    "df.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "      <th>weekday</th>\n",
       "      <th>weekend</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>162644</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:02:07</th>\n",
       "      <td>162742</td>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:03:07</th>\n",
       "      <td>162808</td>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:04:07</th>\n",
       "      <td>162943</td>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                             id  count  res_time_sum  res_time_min  \\\n",
       "created_at                                                           \n",
       "2018-11-01 00:00:07  2019162542      8       1057.31         88.75   \n",
       "2018-11-01 00:01:07      162644      5        749.12        103.79   \n",
       "2018-11-01 00:02:07      162742      5        845.84        136.31   \n",
       "2018-11-01 00:03:07      162808      9       1305.52         90.12   \n",
       "2018-11-01 00:04:07      162943      3        568.89        138.45   \n",
       "\n",
       "                     res_time_max  res_time_avg  interval  \\\n",
       "created_at                                                  \n",
       "2018-11-01 00:00:07        177.72         132.0        60   \n",
       "2018-11-01 00:01:07        240.38         149.0        60   \n",
       "2018-11-01 00:02:07        225.73         169.0        60   \n",
       "2018-11-01 00:03:07        196.61         145.0        60   \n",
       "2018-11-01 00:04:07        232.02         189.0        60   \n",
       "\n",
       "                              created_at  weekday  weekend  \n",
       "created_at                                                  \n",
       "2018-11-01 00:00:07  2018-11-01 00:00:07        3    False  \n",
       "2018-11-01 00:01:07  2018-11-01 00:01:07        3    False  \n",
       "2018-11-01 00:02:07  2018-11-01 00:02:07        3    False  \n",
       "2018-11-01 00:03:07  2018-11-01 00:03:07        3    False  \n",
       "2018-11-01 00:04:07  2018-11-01 00:04:07        3    False  "
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#判断是不是周末\n",
    "df['weekend'] = df['weekday'].isin([5,6])\n",
    "df.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "weekend\n",
       "False    7.016846\n",
       "True     7.574989\n",
       "Name: count, dtype: float64"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#对weekend分组，对count求平均值\n",
    "df.groupby('weekend')['count'].mean()#周末调用次数比较多，高了7.57-7.01 = 0.56"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "weekend  created_at\n",
       "False    0              3.239120\n",
       "         1              1.668388\n",
       "         2              1.162551\n",
       "         3              1.086705\n",
       "         4              1.155556\n",
       "         5              1.136364\n",
       "         6              1.000000\n",
       "         7              1.000000\n",
       "         8              1.000000\n",
       "         9              1.080000\n",
       "         10             1.239011\n",
       "         11             2.031690\n",
       "         12             4.195845\n",
       "         13             6.668042\n",
       "         14             8.260503\n",
       "         15             8.934448\n",
       "         16             8.466504\n",
       "         17             6.784996\n",
       "         18             6.717731\n",
       "         19             8.655913\n",
       "         20            10.536496\n",
       "         21            10.846906\n",
       "         22             9.034164\n",
       "         23             5.946834\n",
       "True     0              3.467782\n",
       "         1              1.741849\n",
       "         2              1.161826\n",
       "         3              1.050000\n",
       "         4              1.076923\n",
       "         5              1.333333\n",
       "         6              1.000000\n",
       "         7              1.000000\n",
       "         8              1.071429\n",
       "         9              1.144928\n",
       "         10             1.254111\n",
       "         11             1.992958\n",
       "         12             4.031889\n",
       "         13             6.905772\n",
       "         14             8.851321\n",
       "         15             9.858422\n",
       "         16             9.420550\n",
       "         17             7.334743\n",
       "         18             7.342150\n",
       "         19             9.270430\n",
       "         20            11.173609\n",
       "         21            11.695043\n",
       "         22            10.419916\n",
       "         23             7.025452\n",
       "Name: count, dtype: float64"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.groupby(['weekend',df.index.hour])['count'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1f54cb38438>"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#周末对比非周末，用图形表示\n",
    "df.groupby(['weekend',df.index.hour])['count'].mean().plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>weekend</th>\n",
       "      <th>False</th>\n",
       "      <th>True</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3.239120</td>\n",
       "      <td>3.467782</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.668388</td>\n",
       "      <td>1.741849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.162551</td>\n",
       "      <td>1.161826</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.086705</td>\n",
       "      <td>1.050000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.155556</td>\n",
       "      <td>1.076923</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1.136364</td>\n",
       "      <td>1.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.071429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1.080000</td>\n",
       "      <td>1.144928</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>1.239011</td>\n",
       "      <td>1.254111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2.031690</td>\n",
       "      <td>1.992958</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>4.195845</td>\n",
       "      <td>4.031889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>6.668042</td>\n",
       "      <td>6.905772</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>8.260503</td>\n",
       "      <td>8.851321</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>8.934448</td>\n",
       "      <td>9.858422</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>8.466504</td>\n",
       "      <td>9.420550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>6.784996</td>\n",
       "      <td>7.334743</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>6.717731</td>\n",
       "      <td>7.342150</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>8.655913</td>\n",
       "      <td>9.270430</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>10.536496</td>\n",
       "      <td>11.173609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>10.846906</td>\n",
       "      <td>11.695043</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>9.034164</td>\n",
       "      <td>10.419916</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>5.946834</td>\n",
       "      <td>7.025452</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "weekend         False      True \n",
       "created_at                      \n",
       "0            3.239120   3.467782\n",
       "1            1.668388   1.741849\n",
       "2            1.162551   1.161826\n",
       "3            1.086705   1.050000\n",
       "4            1.155556   1.076923\n",
       "5            1.136364   1.333333\n",
       "6            1.000000   1.000000\n",
       "7            1.000000   1.000000\n",
       "8            1.000000   1.071429\n",
       "9            1.080000   1.144928\n",
       "10           1.239011   1.254111\n",
       "11           2.031690   1.992958\n",
       "12           4.195845   4.031889\n",
       "13           6.668042   6.905772\n",
       "14           8.260503   8.851321\n",
       "15           8.934448   9.858422\n",
       "16           8.466504   9.420550\n",
       "17           6.784996   7.334743\n",
       "18           6.717731   7.342150\n",
       "19           8.655913   9.270430\n",
       "20          10.536496  11.173609\n",
       "21          10.846906  11.695043\n",
       "22           9.034164  10.419916\n",
       "23           5.946834   7.025452"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#叠加图形：周末对比非周末\n",
    "df.groupby(['weekend',df.index.hour])['count'].mean().unstack(level = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1f54cdf37f0>"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.groupby(['weekend',df.index.hour])['count'].mean().unstack(level = 0).plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
